[devel] elflint

Dmitry V. Levin ldv на altlinux.org
Пт Дек 18 03:21:40 UTC 2009


On Fri, Dec 18, 2009 at 03:59:28AM +0300, Alexey Tourbin wrote:
> Here are some findings (elflint executed on my host system).
> 
> find / /usr -xdev -type f -exec file -NF$'\t' '{}' '+' 2>/dev/null |
> awk -F'\t' '$2~/\<ELF /{print$1}' |
> xargs eu-elflint --gnu-ld |
> awk 'BEGIN{RS="\n\n"}!/No errors/'
[...]
> /usr/lib64/Mcrt1.o:
> section [ 4] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/crti.o:
> section [ 8] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/libc_stubs.a:
> section [ 8] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/crtn.o:
> section [ 6] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/libmcheck.a:
> section [ 7] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/Scrt1.o:
> section [ 8] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/crt1.o:
> section [ 8] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/libnvidianull.so:
> section [ 6] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcrt1.o:
> section [10] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/virtualbox/tstMicroGC.gc:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/virtualbox/VMMGC.gc:
> section [16] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/virtualbox/VBoxDDR0.r0:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/virtualbox/VBoxDD2GC.gc:
> section [10] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/virtualbox/VBoxDD2R0.r0:
> section [10] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/virtualbox/VBoxDDGC.gc:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/virtualbox/VMMR0.r0:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/python2.6/config/python.o:
> section [ 5] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtfastmath.o:
> section [14] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtendS.o:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtbeginS.o:
> section [14] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtend.o:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtprec64.o:
> section [15] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtbeginT.o:
> section [14] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtprec32.o:
> section [15] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtbegin.o:
> section [13] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/gcc/x86_64-alt-linux/4.4.2/crtprec80.o:
> section [15] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libpthread-2.10.1.so:
> section [33] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libcidn-2.10.1.so:
> section [28] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libanl-2.10.1.so:
> section [30] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libnss_files-2.10.1.so:
> section [28] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libdl-2.10.1.so:
> section [29] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libBrokenLocale-2.10.1.so:
> section [27] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libthread_db-1.0.so:
> section [29] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libutil-2.10.1.so:
> section [28] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libm-2.10.1.so:
> section [29] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libcrypt-2.10.1.so:
> section [29] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/librt-2.10.1.so:
> section [32] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/ld-2.10.1.so:
> section [22] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libresolv-2.10.1.so:
> section [29] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libnsl-2.10.1.so:
> section [28] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/debug/libc-2.10.1.so:
> section [69] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/libieee.a:
> section [ 4] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/klibc/lib/libc.so:
> section [ 5] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/valgrind/vgpreload_exp-ptrcheck-amd64-linux.so:
> section [22] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so:
> section [22] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/valgrind/vgpreload_drd-amd64-linux.so:
> section [22] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/valgrind/vgpreload_core-amd64-linux.so:
> section [21] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so:
> section [22] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/lib64/valgrind/vgpreload_massif-amd64-linux.so:
> section [22] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/libexec/X11/drv.d/nvidia:
> section [26] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/libexec/X11/drvpre.d/nvidia:
> section [26] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/share/doc/python-module-pyorbit-2.24.0/tests/c-inproc/.libs/testcall-skels.o:
> section [ 8] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/share/doc/python-module-pyorbit-2.24.0/tests/c-inproc/.libs/testcall-stubs.o:
> section [ 5] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/share/doc/python-module-pyorbit-2.24.0/tests/c-inproc/.libs/testcall-imodule.o:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/share/doc/python-module-pyorbit-2.24.0/tests/c-inproc/.libs/testcall-common.o:
> section [11] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/share/doc/python-module-pyorbit-2.24.0/tests/c-inproc/.libs/c-impl.o:
> section [10] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/share/doc/python-module-pyorbit-2.24.0/tests/c-inproc/.libs/cTestCall.so:
> section [25] '.comment' has wrong flags: expected none, is MERGE|STRINGS
> /usr/share/doc/python-module-pyorbit-2.24.0/tests/c-inproc/.libs/TestCall_module.so:
> section [24] '.comment' has wrong flags: expected none, is MERGE|STRINGS

This part of diagnostics is wrong, .comment could be MERGE|STRINGS, so
I've just submitted elfutils-0.143-alt1 with a fix.

Said that, I admit some of these files could be stripped better.
But that's another story.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20091218/5786121f/attachment.bin>


Подробная информация о списке рассылки Devel