Bug#448652: lintian: 'binaries' check incorrectly diagnoses programm/library as linked
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;
}
}
Reply to: