[fedora-arm] Assembly scanning tool
Jon Masters
jcm at redhat.com
Sun Jul 8 06:05:24 UTC 2012
Folks,
The attached script is a very simple first stab at an assembly scanning
tool. We can use it to iterate over packages in the distro, looking for
anything that uses inline or dedicated assembly files. Examples too.
I was frankly surprised that bash had such "optimizations" :)
Jon.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: asmcheck.sh
Type: application/x-shellscript
Size: 4964 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/arm/attachments/20120708/21e67358/attachment.bin>
-------------- next part --------------
$ ./asmcheck.sh openmpi-1.6-2.fc18.src.rpm
Summary for package: openmpi-1.6-2.fc18.src.rpm
Assembly source files: 26
Inline assembly usage: 19
Total number of files: 45
Assembly source files:
./openmpi-1.6/ompi/contrib/vt/vt/vtlib/vt_comp_ftrace_1.s
./openmpi-1.6/ompi/contrib/vt/vt/vtlib/vt_metric_necsx_1.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc64-osx.s
./openmpi-1.6/opal/asm/generated/atomic-alpha-linux.s
./openmpi-1.6/opal/asm/generated/atomic-mips-irix.s
./openmpi-1.6/opal/asm/generated/atomic-sparcv9-64-solaris.s
./openmpi-1.6/opal/asm/generated/atomic-ia64-linux-nongas.s
./openmpi-1.6/opal/asm/generated/atomic-sparc-solaris.s
./openmpi-1.6/opal/asm/generated/atomic-ia32-linux-nongas.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc32-64-osx.s
./openmpi-1.6/opal/asm/generated/atomic-ia32-osx.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc64-linux.s
./openmpi-1.6/opal/asm/generated/atomic-ia32-linux.s
./openmpi-1.6/opal/asm/generated/atomic-ia64-linux.s
./openmpi-1.6/opal/asm/generated/atomic-amd64-linux.s
./openmpi-1.6/opal/asm/generated/atomic-ia32-cygwin-nongas.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc64-linux-nongas.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc32-linux-nongas.s
./openmpi-1.6/opal/asm/generated/atomic-sparcv9-32-solaris.s
./openmpi-1.6/opal/asm/generated/atomic-ia32-cygwin.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc64-aix.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc32-osx.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc32-aix.s
./openmpi-1.6/opal/asm/generated/atomic-powerpc32-linux.s
./openmpi-1.6/opal/asm/generated/atomic-mips64el.s
./openmpi-1.6/opal/asm/generated/atomic-amd64-linux-nongas.s
Inline assembly usage:
./openmpi-1.6/ompi/contrib/vt/vt/vtlib/vt_pform_macos.c (5)
./openmpi-1.6/ompi/contrib/vt/vt/vtlib/vt_pform_crayxt.c (1)
./openmpi-1.6/ompi/contrib/vt/vt/vtlib/vt_pform_crayxe.c (1)
./openmpi-1.6/ompi/contrib/vt/vt/vtlib/vt_pform_linux.c (7)
./openmpi-1.6/opal/include/opal/sys/ia64/atomic.h (9)
./openmpi-1.6/opal/include/opal/sys/ia64/timer.h (1)
./openmpi-1.6/opal/include/opal/sys/sparcv9/atomic.h (3)
./openmpi-1.6/opal/include/opal/sys/sparcv9/timer.h (2)
./openmpi-1.6/opal/include/opal/sys/powerpc/atomic.h (3)
./openmpi-1.6/opal/include/opal/sys/powerpc/timer.h (3)
./openmpi-1.6/opal/include/opal/sys/arm/atomic.h (4)
./openmpi-1.6/opal/include/opal/sys/amd64/atomic.h (1)
./openmpi-1.6/opal/include/opal/sys/amd64/timer.h (2)
./openmpi-1.6/opal/include/opal/sys/ia32/atomic.h (1)
./openmpi-1.6/opal/include/opal/sys/ia32/timer.h (1)
./openmpi-1.6/opal/include/opal/sys/alpha/atomic.h (3)
./openmpi-1.6/opal/include/opal/sys/sparc/atomic.h (3)
./openmpi-1.6/opal/include/opal/sys/mips/atomic.h (5)
./openmpi-1.6/opal/mca/memory/linux/sysdeps/generic/malloc-machine.h (1)
./openmpi-1.6/opal/mca/memory/linux/sysdeps/pthread/malloc-machine.h (1)
$ ./asmcheck.sh bash-4.2.29-3.fc18.src.rpm
Summary for package: bash-4.2.29-3.fc18.src.rpm
Assembly source files: 2
Inline assembly usage: 0
Total number of files: 2
Assembly source files:
./bash-4.2/lib/malloc/x386-alloca.s
./bash-4.2/lib/malloc/i386-alloca.s
$ ./asmcheck.sh fedora-release-18-0.4.src.rpm
Summary for package: fedora-release-18-0.4.src.rpm
Assembly source files: 0
Inline assembly usage: 0
Total number of files: 0
More information about the arm
mailing list