[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: