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 [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]