Package: lintian Version: 1.23.36 Severity: normal Tags: patch the test under checks/binaries incorrectly diagnoses libraries or programs as linked against libc when they are linked against any library wich begins with the letter 'c'.
Attached are two objdump-info files, and a patch to fix this behaviour, both of them are not linked against libc, however lintian sees the one named obj-info-newbuild as linked against libc, because it is linked againts libcrypt. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.23.1 Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages lintian depends on: ii binutils 2.18.1~cvs20071027-1 The GNU assembler, linker and bina ii diffstat 1.45-2 produces graph of changes introduc ii dpkg-dev 1.14.7 package building tools for Debian ii file 4.21-3 Determines file type using "magic" ii gettext 0.16.1-2 GNU Internationalization utilities ii intltool-debian 0.35.0+20060710.1 Help i18n of RFC822 compliant conf ii libparse-debianchan 1.1.1-1 parse Debian changelogs and output ii man-db 2.5.0-3 on-line manual pager ii perl [libdigest-md5 5.8.8-11.1 Larry Wall's Practical Extraction lintian recommends no packages. -- no debconf information
-- /lib/security/pam_encfs.so Elf file type is DYN (Shared object file) Entry point 0xe20 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0x02218 0x02218 R E 0x1000 LOAD 0x002218 0x00003218 0x00003218 0x00190 0x002c8 RW 0x1000 DYNAMIC 0x002218 0x00003218 0x00003218 0x000b0 0x000b0 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 Section to Segment mapping: Segment Sections... 00 .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .plt .text .rodata 01 .dynamic .got .got.plt .bss 02 .dynamic 03 /lib/security/pam_encfs.so: file format elf32-i386 Program Header: LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00002218 memsz 0x00002218 flags r-x LOAD off 0x00002218 vaddr 0x00003218 paddr 0x00003218 align 2**12 filesz 0x00000190 memsz 0x000002c8 flags rw- DYNAMIC off 0x00002218 vaddr 0x00003218 paddr 0x00003218 align 2**2 filesz 0x000000b0 memsz 0x000000b0 flags rw- STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 filesz 0x00000000 memsz 0x00000000 flags rw- Dynamic Section: NEEDED libpam.so.0 HASH 0xb4 STRTAB 0x63c SYMTAB 0x24c STRSZ 0x25c SYMENT 0x10 PLTGOT 0x32d0 PLTRELSZ 0x198 PLTREL 0x11 JMPREL 0x948 REL 0x938 RELSZ 0x10 RELENT 0x8 VERNEED 0x918 VERNEEDNUM 0x1 VERSYM 0x898 Version References: required from libpam.so.0: 0x04682f60 0x00 02 LIBPAM_1.0 Sections: Idx Name Size VMA LMA File off Algn 0 .hash 00000198 000000b4 000000b4 000000b4 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .dynsym 000003f0 0000024c 0000024c 0000024c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .dynstr 0000025c 0000063c 0000063c 0000063c 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .gnu.version 0000007e 00000898 00000898 00000898 2**1 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .gnu.version_r 00000020 00000918 00000918 00000918 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .rel.dyn 00000010 00000938 00000938 00000938 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .rel.plt 00000198 00000948 00000948 00000948 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 7 .plt 00000340 00000ae0 00000ae0 00000ae0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 8 .text 0000117d 00000e20 00000e20 00000e20 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 9 .rodata 00000278 00001fa0 00001fa0 00001fa0 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 10 .dynamic 000000b0 00003218 00003218 00002218 2**2 CONTENTS, ALLOC, LOAD, DATA 11 .got 00000008 000032c8 000032c8 000022c8 2**2 CONTENTS, ALLOC, LOAD, DATA 12 .got.plt 000000d8 000032d0 000032d0 000022d0 2**2 CONTENTS, ALLOC, LOAD, DATA 13 .bss 00000120 000033c0 000033c0 000023a8 2**5 ALLOC DYNAMIC SYMBOL TABLE: 00000000 D *UND* 00000000 strcpy 00000000 D *UND* 00000000 waitpid 00000000 D *UND* 00000000 stdout 00000000 D *UND* 00000000 strerror 00000000 DF *UND* 0000006a LIBPAM_1.0 pam_get_data 00000000 D *UND* 00000000 snprintf 00000e40 g DF .text 0000000a Base pam_sm_open_session 00001110 g DF .text 0000014b Base pam_sm_close_session 00000000 D *UND* 00000000 fgets 00000000 D *UND* 00000000 dup2 00000ec0 g DF .text 00000056 Base converse 00000000 DF *UND* 00000128 LIBPAM_1.0 pam_get_item 000012b0 g DF .text 000004da Base readconfig 00001080 g DF .text 00000081 Base checkmnt 00000f50 g DF .text 0000007e Base waitpid_timeout 00000000 D *UND* 00000000 pipe 00000e30 g DF .text 0000000a Base pam_sm_chauthtok 00001260 g DF .text 0000004c Base is_dir 00000000 D *UND* 00000000 write 00000000 D *UND* 00000000 kill 00000000 D *UND* 00000000 strcat 00000000 D *UND* 00000000 chdir 00000000 D *UND* 00000000 initgroups 00000000 DF *UND* 000004e8 LIBPAM_1.0 pam_strerror 00000000 D *UND* 00000000 stdin 00000000 D *UND* 00000000 setgid 00000000 D *UND* 00000000 read 00000000 DF *UND* 000000ee LIBPAM_1.0 pam_getenv 00000000 D *UND* 00000000 openlog 00000000 D *UND* 00000000 closelog 00000000 D *UND* 00000000 __strdup 00000fd0 g DF .text 00000063 Base buildCmd 00000000 D *UND* 00000000 fork 00000000 D *UND* 00000000 sscanf 00000000 D *UND* 00000000 setmntent 00000000 D *UND* 00000000 fopen 000033a8 g D *ABS* 00000000 Base __bss_start 00000000 D *UND* 00000000 fclose 00000000 DF *UND* 000002ec LIBPAM_1.0 pam_get_user 00000000 D *UND* 00000000 strcmp 00000000 D *UND* 00000000 getpwnam 00000000 DF *UND* 00000118 LIBPAM_1.0 pam_set_data 00000000 D *UND* 00000000 getmntent 000033a8 g D *ABS* 00000000 Base _edata 00000000 D *UND* 00000000 __xstat 00001790 g DF .text 000000c2 Base _set_auth_tok 000034e0 g D *ABS* 00000000 Base _end 00000e50 g DF .text 0000000a Base pam_sm_setcred 00000000 D *UND* 00000000 __errno_location 00000000 D *UND* 00000000 exit 00000000 D *UND* 00000000 fileno 00000000 D *UND* 00000000 vsyslog 00000000 DF *UND* 0000032e LIBPAM_1.0 pam_set_item 00000000 D *UND* 00000000 strlen 00001860 g DF .text 00000739 Base pam_sm_authenticate 00000000 D *UND* 00000000 strchr 00000000 D *UND* 00000000 execvp 00000000 D *UND* 00000000 setuid 00001040 g DF .text 00000036 Base searchAndReplace 00000000 D *UND* 00000000 close 00000e20 g DF .text 0000000a Base pam_sm_acct_mgmt 00000000 D *UND* 00000000 free
-- /lib/security/pam_encfs.so Elf file type is DYN (Shared object file) Entry point 0xdd0 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0x02138 0x02138 R E 0x1000 LOAD 0x002138 0x00003138 0x00003138 0x00190 0x002c8 RW 0x1000 DYNAMIC 0x002138 0x00003138 0x00003138 0x000b8 0x000b8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 Section to Segment mapping: Segment Sections... 00 .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .plt .text .rodata 01 .dynamic .got .got.plt .bss 02 .dynamic 03 /lib/security/pam_encfs.so: file format elf32-i386 Program Header: LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00002138 memsz 0x00002138 flags r-x LOAD off 0x00002138 vaddr 0x00003138 paddr 0x00003138 align 2**12 filesz 0x00000190 memsz 0x000002c8 flags rw- DYNAMIC off 0x00002138 vaddr 0x00003138 paddr 0x00003138 align 2**2 filesz 0x000000b8 memsz 0x000000b8 flags rw- STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 filesz 0x00000000 memsz 0x00000000 flags rw- Dynamic Section: NEEDED libpam.so.0 NEEDED libcrypt.so.1 HASH 0xb4 STRTAB 0x614 SYMTAB 0x244 STRSZ 0x25b SYMENT 0x10 PLTGOT 0x31f8 PLTRELSZ 0x188 PLTREL 0x11 JMPREL 0x91c REL 0x90c RELSZ 0x10 RELENT 0x8 VERNEED 0x8ec VERNEEDNUM 0x1 VERSYM 0x870 Version References: required from libpam.so.0: 0x04682f60 0x00 02 LIBPAM_1.0 Sections: Idx Name Size VMA LMA File off Algn 0 .hash 00000190 000000b4 000000b4 000000b4 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .dynsym 000003d0 00000244 00000244 00000244 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .dynstr 0000025b 00000614 00000614 00000614 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .gnu.version 0000007a 00000870 00000870 00000870 2**1 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .gnu.version_r 00000020 000008ec 000008ec 000008ec 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .rel.dyn 00000010 0000090c 0000090c 0000090c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .rel.plt 00000188 0000091c 0000091c 0000091c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 7 .plt 00000320 00000aa4 00000aa4 00000aa4 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 8 .text 000010f0 00000dd0 00000dd0 00000dd0 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 9 .rodata 00000278 00001ec0 00001ec0 00001ec0 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 10 .dynamic 000000b8 00003138 00003138 00002138 2**2 CONTENTS, ALLOC, LOAD, DATA 11 .got 00000008 000031f0 000031f0 000021f0 2**2 CONTENTS, ALLOC, LOAD, DATA 12 .got.plt 000000d0 000031f8 000031f8 000021f8 2**2 CONTENTS, ALLOC, LOAD, DATA 13 .bss 00000120 000032e0 000032e0 000022c8 2**5 ALLOC DYNAMIC SYMBOL TABLE: 00000000 D *UND* 00000000 strcpy 00000000 D *UND* 00000000 waitpid 00000000 D *UND* 00000000 stdout 00000000 D *UND* 00000000 strerror 00000000 DF *UND* 0000006a LIBPAM_1.0 pam_get_data 00000000 D *UND* 00000000 snprintf 00000df0 g DF .text 0000000a Base pam_sm_open_session 000010c0 g DF .text 0000014b Base pam_sm_close_session 00000000 D *UND* 00000000 fgets 00000000 D *UND* 00000000 dup2 00000e70 g DF .text 00000056 Base converse 00000000 DF *UND* 00000128 LIBPAM_1.0 pam_get_item 00001210 g DF .text 000004da Base readconfig 00001030 g DF .text 00000081 Base checkmnt 00000f00 g DF .text 0000007e Base waitpid_timeout 00000000 D *UND* 00000000 pipe 00000de0 g DF .text 0000000a Base pam_sm_chauthtok 00000000 D *UND* 00000000 write 00000000 D *UND* 00000000 kill 00000000 D *UND* 00000000 strcat 00000000 D *UND* 00000000 chdir 00000000 D *UND* 00000000 initgroups 00000000 DF *UND* 000004e8 LIBPAM_1.0 pam_strerror 00000000 D *UND* 00000000 stdin 00000000 D *UND* 00000000 setgid 00000000 D *UND* 00000000 read 00000000 DF *UND* 000000ee LIBPAM_1.0 pam_getenv 00000000 D *UND* 00000000 openlog 00000000 D *UND* 00000000 closelog 00000000 D *UND* 00000000 __strdup 00000f80 g DF .text 00000063 Base buildCmd 00000000 D *UND* 00000000 fork 00000000 D *UND* 00000000 sscanf 00000000 D *UND* 00000000 setmntent 00000000 D *UND* 00000000 fopen 000032c8 g D *ABS* 00000000 Base __bss_start 00000000 D *UND* 00000000 fclose 00000000 DF *UND* 000002ec LIBPAM_1.0 pam_get_user 00000000 D *UND* 00000000 strcmp 00000000 D *UND* 00000000 getpwnam 00000000 DF *UND* 00000118 LIBPAM_1.0 pam_set_data 00000000 D *UND* 00000000 getmntent 000032c8 g D *ABS* 00000000 Base _edata 000016f0 g DF .text 000000bf Base _set_auth_tok 00003400 g D *ABS* 00000000 Base _end 00000e00 g DF .text 0000000a Base pam_sm_setcred 00000000 D *UND* 00000000 __errno_location 00000000 D *UND* 00000000 exit 00000000 D *UND* 00000000 fileno 00000000 D *UND* 00000000 vsyslog 00000000 DF *UND* 0000032e LIBPAM_1.0 pam_set_item 00000000 D *UND* 00000000 strlen 000017b0 g DF .text 0000070c Base pam_sm_authenticate 00000000 D *UND* 00000000 strchr 00000000 D *UND* 00000000 execvp 00000000 D *UND* 00000000 setuid 00000ff0 g DF .text 00000036 Base searchAndReplace 00000000 D *UND* 00000000 close 00000dd0 g DF .text 0000000a Base pam_sm_acct_mgmt 00000000 D *UND* 00000000 free
--- /usr/share/lintian/checks/binaries 2007-10-16 05:28:17.000000000 +0200 +++ binaries 2007-10-30 20:25:46.000000000 +0100 @@ -270,7 +270,7 @@ # } # } - if ($lib =~ m/^libc/o) { + if ($lib =~ m/^libc\.so/o) { $no_libc = 0; } }