[devel] verify-elf lint=normal (elflint)

Dmitry V. Levin ldv на altlinux.org
Пн Дек 21 20:08:52 UTC 2009


On Sun, Dec 20, 2009 at 02:57:38AM +0300, Alexey Tourbin wrote:
> On Sun, Dec 20, 2009 at 12:42:19AM +0300, Dmitry V. Levin wrote:
> > On Sun, Dec 20, 2009 at 12:03:49AM +0300, Alexey Tourbin wrote:
> > > On Sat, Dec 19, 2009 at 10:50:07PM +0300, Dmitry V. Levin wrote:
> > > > On Sat, Dec 19, 2009 at 03:26:40AM +0300, Alexey Tourbin wrote:
> > > > > So... new VERIFY_ELF_LINT method is ready, and in Sisyphus, it is going
> > > > > to be enabled (lint=normal) by default.  Shall I enable it for branch-5.1
> > > > > as well?
> > > > 
> > > > Let's check whether eu-elflint has yet more false positives to be fixed.
> > > 
> > > How do we check?  Checking the existing (pre-compiled) packages is
> > > useless, since most of them are compiled with older toolchain (and
> > > most of the lint warnings will go away as packages are recompiled).
> > 
> > For example, we could introduce this new check as "relaxed" and run
> > a test rebuild.
> > 
> > > Okay, probably I'm going to release 4.0.4-alt98.25 anyway.
> > 
> > Next test rebuild is going to start now, but I can delay it to get new
> > rpmbuild packaged first.
> 
> 4.0.4-alt98.25 with lint=relaxed is in sisyphus.

Actually it was 4.0.4-alt98.26.
Test rebuild results (on i586) show that 26 of 9259 successfully
rebuilt packages are reported to have eu-elflint --gnu-ld errors:

Mesa-4:7.7-alt0.rc3
section [27] 'wtext' is both executable and writable
verify-elf: WARNING: ./usr/lib/X11/libGL.so.1.2: eu-elflint failed

alsa-firmware-1.0.20-alt1
invalid machine flags: 0x80000000
section [ 2] '.text' is executable in nonexecutable segment 1
loadable segment [8] is writable but contains no writable sections
loadable segment [10] is writable but contains no writable sections
verify-elf: WARNING: ./lib/firmware/mixart/miXart8.elf: eu-elflint failed
verify-elf: WARNING: ./lib/firmware/mixart/miXart8.elf: STACK entry not found

avr-libc-1:1.6.7-alt1
verify-elf: WARNING: ./usr/lib/avr/lib/avr25/crt86401.o: eu-elflint failed
[106 lines skipped]
verify-elf: WARNING: ./usr/lib/avr/lib/crttn861.o: eu-elflint failed

cpuburn-1.4-alt5
loadable segment [1] is writable but contains no writable sections
verify-elf: WARNING: ./usr/bin/burnBX: eu-elflint failed
loadable segment [1] is writable but contains no writable sections
verify-elf: WARNING: ./usr/bin/burnMMX: eu-elflint failed

emacs23-23.1-alt1
section [ 5] '.dynsym': symbol 220: st_value out of bounds
[...]
section [ 5] '.dynsym': symbol 253: st_value out of bounds
section [24] '.bss' has type NOBITS but is read from the file in segment of program header entry 2
verify-elf: WARNING: ./usr/bin/emacs23-athena: eu-elflint failed
verify-elf: WARNING: ./usr/bin/emacs23-gtk: eu-elflint failed
verify-elf: WARNING: ./usr/bin/emacs23-motif: eu-elflint failed
verify-elf: WARNING: ./usr/bin/emacs23-nox: eu-elflint failed

firebird-odbc-2.0.0147-alt1
section [ 7] '.rel.dyn': relocation 6361: relocation type invalid for the file type
[...]
section [ 7] '.rel.dyn': relocation 6987: relocation type invalid for the file type
verify-elf: WARNING: ./usr/lib/libOdbcFb.so: eu-elflint failed
the file containing the function 'IscDbcLibrary::Attachment::Attachment()' is not compiled with -fpic/-fPIC
[...]
the file containing the function 'typeinfo for OdbcJdbcLibrary::OdbcObject' is not compiled with -fpic/-fPIC
verify-elf: WARNING: ./usr/lib/libOdbcFb.so: TEXTREL entry found: 0x00000000

glibc-6:2.10.1-alt8
loadable segment [1] is writable but contains no writable sections
verify-elf: WARNING: ./sbin/glibc_preinstall: eu-elflint failed

ipw3945d-1.7.22-alt1
program header entry 8: unknown program header entry type 0x65041580
verify-elf: WARNING: ./usr/sbin/ipw3945d: eu-elflint failed

kexec-tools-2.0.1-alt1
loadable segment [1] is writable but contains no writable sections
verify-elf: WARNING: ./usr/lib/kexec-tools/kexec_test: eu-elflint failed
verify-elf: WARNING: ./usr/lib/kexec-tools/kexec_test: STACK entry not found

klibc-1.5.15-alt4
loadable segment [3] is writable but contains no writable sections
verify-elf: WARNING: ./lib/mkinitrd/klibc/bin/cat: eu-elflint failed
[9 lines skipped]
verify-elf: WARNING: ./lib/mkinitrd/klibc/bin/umount: eu-elflint failed
loadable segment [3] is writable but contains no writable sections
verify-elf: WARNING: ./usr/lib/klibc/bin/cat: eu-elflint failed
[12 lines skipped]
section [ 4] '.interp' present in object file
section [ 4] '.interp' has SHF_ALLOC flag set but there is no loadable segment
verify-elf: WARNING: ./usr/lib/klibc/lib/interp.o: eu-elflint failed

libunwind-0.99-alt4
section [ 3] '.dynsym': symbol 28: symbol in dynamic symbol table with non-default visibility
[...]
section [ 3] '.dynsym': symbol 94: symbol in dynamic symbol table with non-default visibility
verify-elf: WARNING: ./usr/lib/libunwind-ptrace.so.0.0.0: eu-elflint failed
verify-elf: WARNING: ./usr/lib/libunwind-x86.so.7.0.0: eu-elflint failed
verify-elf: WARNING: ./usr/lib/libunwind.so.7.0.0: eu-elflint failed

libxine-1.1.16.3-alt1
section [ 3] '.dynsym': symbol 131: symbol in dynamic symbol table with non-default visibility
[...]
section [ 3] '.dynsym': symbol 515: symbol in dynamic symbol table with non-default visibility
verify-elf: WARNING: ./usr/lib/libxine.so.1.26.1: eu-elflint failed

mbrola-3.01-alt3.1
section [ 3] '.dynsym': symbol 4 does not fit completely in referenced section [ 8] '.init'
section [ 3] '.dynsym': symbol 5 does not fit completely in referenced section [11] '.fini'
verify-elf: WARNING: ./usr/bin/mbrola: eu-elflint failed

minised-1.12-alt2
section [ 7] '.note': unknown object file note type 0 at offset 20
section [ 7] '.note': unknown object file note type 0 at offset 40
verify-elf: WARNING: ./usr/bin/minised: eu-elflint failed

nbd-2.9.11-alt2
section [ 7] '.note': unknown object file note type 0 at offset 20
verify-elf: WARNING: ./usr/sbin/nbd-client.static: eu-elflint failed

nvidia_glx_src_173.14.22-173.14.22-alt56
nvidia_glx_src_190.42-190.42-alt74
nvidia_glx_src_190.53-190.53-alt74
nvidia_glx_src_96.43.14-96.43.14-alt46
[elf files in these packages are FULL of various bugs, no reason to list them here]

qemu-0.11.92-alt1
section [ 2] '.text' has wrong flags: expected ALLOC|EXECINSTR, is WRITE|ALLOC|EXECINSTR
section [ 2] '.text' is both executable and writable
verify-elf: WARNING: ./usr/share/qemu/openbios-ppc: eu-elflint failed
verify-elf: WARNING: ./usr/share/qemu/openbios-sparc32: eu-elflint failed
verify-elf: WARNING: ./usr/share/qemu/openbios-sparc64: eu-elflint failed

qutim-3:0.2.0-alt1
section [ 7] '.rel.dyn': relocation 70: relocation type invalid for the file type
[...]
section [ 7] '.rel.dyn': relocation 95: relocation type invalid for the file type
verify-elf: WARNING: ./usr/lib/qutim/libplugman.so: eu-elflint failed
the file containing the function 'QZipWriter::QZipWriter(QIODevice*)' is not compiled with -fpic/-fPIC
[...]
the file containing the function 'QZipReader::count() const' is not compiled with -fpic/-fPIC
verify-elf: WARNING: ./usr/lib/qutim/libplugman.so: TEXTREL entry found: 0x00000000
verify-elf: WARNING: ./usr/bin/qutim: RPATH entry found: /usr/lib

scantailor-0.9.7.2-alt1
section [ 4] '.dynsym': symbol 1: local symbol outside range described in sh_info
[...]
section [ 4] '.dynsym': symbol 5: local symbol outside range described in sh_info
section [ 6] '.gnu.version': symbol 1: local symbol with global scope
[...]
section [ 6] '.gnu.version': symbol 5: local symbol with global scope
verify-elf: WARNING: ./usr/bin/scantailor: eu-elflint failed

tuxvsclippy-0.2.5-alt2
verify-elf: WARNING: ./usr/lib/tuxvsclippy/sprite/counter.sprite: eu-elflint failed
[16 lines skipped]
verify-elf: WARNING: ./usr/lib/tuxvsclippy/sprite/wolk.sprite: eu-elflint failed
[a LOT of various bugs]

util-linux-2.16.1-alt3
loadable segment [1] is writable but contains no writable sections
verify-elf: WARNING: ./sbin/nologin: eu-elflint failed
verify-elf: WARNING: ./usr/bin/pause: eu-elflint failed

virtualbox-3.0.10-alt1.1
verify-elf: WARNING: ./usr/lib/virtualbox/VBoxDD.so: eu-elflint failed
[16 lines skipped]
verify-elf: WARNING: ./usr/lib/virtualbox/VirtualBox.so: eu-elflint failed
verify-elf: WARNING: ./usr/lib/virtualbox/components/VBoxC.so: eu-elflint failed
verify-elf: WARNING: ./usr/lib/virtualbox/components/VBoxSVCM.so: eu-elflint failed
[a LOT of various bugs]

xorg-drv-rendition-1:4.2.2-alt1
unknown machine type 15666
invalid machine flags: 0x20000001
section [ 2] '.rodata' has wrong flags: expected ALLOC and possibly MERGE|STRINGS, is WRITE
section [ 7] '.symtab': symbol 1: st_value out of bounds
[...]
section [ 7] '.symtab': symbol 5: st_value out of bounds
verify-elf: WARNING: ./usr/lib/X11/modules/v10002d.uc: eu-elflint failed
verify-elf: WARNING: ./usr/lib/X11/modules/v20002d.uc: eu-elflint failed


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


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