Package: libtool
Version: 2.2.6b-2
Severity: normal

Hi,

when statically linking a program that uses libltdl to load plugins, the
symbol tables for the plugins are compiled into the main program as a C
structure; the command used to get the symbols from the file is "nm -B".

This will list all the symbols, including hidden ones, which has two
drawbacks:

 - for libraries that were loaded as dependencies, the entire library is
   added to the executable, even if the code can never be called (this
   may be regarded as a feature, as there is no way to know whether the
   main program may choose to call a function by name, however it is
   pretty unlikely for a library that was pulled in as a dependency of a
   plugin to be called that way); this causes the entire libstdc++ and
   libc to be pulled in, resulting in multi-megabyte binaries.

 - if the plugin or library has hidden symbols, these are still included
   in the list; however linking against those fails as they are not
   accessible. This makes building statically linked programs using a
   library that uses symbol visibility fail.

   Simon

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libtool depends on:
ii  autotools-dev             20100122.1     Update infrastructure for config.{
ii  cpp                       4:4.4.3-1      The GNU C preprocessor (cpp)
ii  file                      5.04-2         Determines file type using "magic"
ii  gcc [c-compiler]          4:4.4.3-1      The GNU C compiler
ii  gcc-4.1 [c-compiler]      4.1.2-27       The GNU C compiler
ii  gcc-4.3 [c-compiler]      4.3.4-10       The GNU C compiler
ii  gcc-4.4 [c-compiler]      4.4.3-7        The GNU C compiler
ii  gcc-4.5 [c-compiler]      4.5-20100227-1 The GNU C compiler
ii  libc6-dev [libc-dev]      2.10.2-6       Embedded GNU C Library: Developmen

Versions of packages libtool recommends:
ii  libltdl-dev                   2.2.6b-2   A system independent dlopen wrappe

Versions of packages libtool suggests:
ii  autoconf                2.65-4           automatic configure script builder
ii  automake [automaken]    1:1.11.1-1       A tool for generating GNU Standard
ii  automake1.7 [automaken] 1.7.9-9.1        A tool for generating GNU Standard
ii  automake1.9 [automaken] 1.9.6+nogfdl-3.1 A tool for generating GNU Standard
pn  gcj                     <none>           (no description available)
pn  gfortran | fortran95-co <none>           (no description available)
pn  libtool-doc             <none>           (no description available)

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to