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

Bug#421790: gcc-4.1: Dynamic symbol information missing in stripped libraries



Package: gcc-4.1
Version: 4.1.2-5
Severity: critical
Tags: d-i

The upgrade of gcc from 4.1.2-4 to 4.1.2-5 is breaking builds of the
installer. The problem seems to be that a stripped library no longer
contains dynamic symbol information.

I've traced this to the following series of commands, which are executed
by mklibs (first command simplified; full command attached):
gcc -nostdlib -nostartfiles -shared -Wl,-soname=libc.so.6 -u<loads of symbols> \
    -o ./tmp/netboot/tree/lib/libc.so.6-so \
    /usr/lib/libc_pic/soinit.o /usr/lib//libc_pic.a /usr/lib/libc_pic/sofini.o /lib//ld-linux.so.2 \
    -Wl,--version-script=/usr/lib//libc_pic.map -lgcc
    -L./tmp/netboot/tree/lib -L./tmp/netboot/tree/usr/lib -L./tmp/netboot/udeblibs -L/lib/ -L/usr/lib/ -L/usr/X11R6/lib/ -L./tmp/netboot/tree//usr/lib/cdebconf
objcopy --strip-unneeded -R .note -R .comment ./tmp/netboot/tree/lib/libc.so.6-so ./tmp/netboot/tree/lib/libc.so.6-so-stripped
readelf -s -D -W ./tmp/netboot/tree/lib/libc.so.6-so-stripped

With 4.1.2-5, the last command results in:
Dynamic symbol information is not available for displaying symbols.

With 4.1.2-4, the last command results in:
Symbol table for image:
  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name
  993   0: 000be898     4  OBJECT GLOBAL DEFAULT  26 __ctype32_b
  946   0: 0004f840   932    FUNC GLOBAL DEFAULT  10 execvp
  972   1: 00082ff0   889    FUNC GLOBAL DEFAULT  10 _dl_addr
  367   1: 0004ff40     8    FUNC GLOBAL DEFAULT  10 getpgrp
  781   2: 00000000   309    FUNC GLOBAL DEFAULT UND ___tls_get_addr
  385   2: 00078fa0    51    FUNC GLOBAL DEFAULT  10 pthread_setcancelstate
  [...]

Cheers,
FJP

gcc -nostdlib -nostartfiles -shared -Wl,-soname=libc.so.6 -uwctomb -ufclose -ufreopen64 -ugetmntent -usleep -uiconv -uwcsncasecmp -uumask -umktime -u__fxstat -uisspace -ulocaltime -uctime_r -uiopl -ugetppid -uutime -ustrnlen -usiglongjmp -utcsetpgrp -urecvfrom -uopendir -usetrlimit -ustderr -uklogctl -usnprintf -uoptind -umemset -uwcschr -usync -usyslog -ustrcasestr -u__ctype_get_mb_cur_max -uwcrtomb -utcgetattr -ustrchrnul -uopenlog -uaccess -ugrantpt -usetlogmask -uclearenv -uioperm -umunmap -ustrtol -usetpgid -umbsinit -ufchdir -uwait -ugetgrnam -uwcwidth -usendmsg -u__cxa_atexit -usetuid -umkdir -urealloc -uhasmntopt -uunlockpt -u__strcasecmp -uselect -ugetchar -uscandir64 -urindex -uendservent -ustrdup -uisatty -utdelete -upathconf -ustatfs64 -uwcscat -ugettimeofday -uherror -uchdir -u__errno_location -ustrerror -ufnmatch -usysconf -u__res_maybe_init -uaccept -uabort -ufprintf -ustrtoll -ustrlen -ustrncat -uchroot -uclearerr -ugetgroups -ufeof -uwrite -uftw64 -uvasprintf -uopen64 -u__cxa_finalize -ugethostbyname -uioctl -uiconv_close -usetgroups -uunlink -utcgetpgrp -u__secure_getenv -upwrite -usigdelset -ubind -ustdin -u__xstat -umlockall -usetrlimit64 -ubasename -u__sigsetjmp -utcdrain -uiswalnum -uuname -ubtowc -ustrtoul -uswapoff -u__xpg_basename -uexeclp -ufwrite -utcflush -ugetpid -usetgid -upivot_root -uposix_memalign -ugetpwnam -uexecl -uhtonl -usendto -uexecv -umemchr -umkfifo -usys_siglist -uconnect -uflock -udirname -ukillpg -ushmget -uendpwent -ureboot -uunsetenv -usetsid -usprintf -u__ctype_b_loc -ustrrchr -uregexec -ugethostbyaddr -ustrcspn -uasprintf -uferror -ugetcwd -ufree -utfind -urecv -uputchar -u__strtol_internal -utimes -ugetservbyname -urand -uqsort -u__xstat64 -u__libc_start_main -umlock -uopen -ustrncpy -uusleep -ugetopt_long -untohl -usystem -ustrcasecmp -udcgettext -untohs -umemcmp -udprintf -umkstemp64 -ulisten -ugetgrgid -uswapon -ualphasort64 -ugetpriority -ufscanf -ustatfs -uvsnprintf -u__assert_fail -ustrtok_r -uwcswidth -usigfillset -ucfsetospeed -ustpcpy -ubindtextdomain -ugeteuid -ufseek -ustrptime -ugetrlimit64 -utsearch -ugetrlimit -urealpath -utolower -uindex -uglob -ustrpbrk -ualarm -upipe -ufseeko64 -usetvbuf -uscandir -ustrncasecmp -urandom -u_IO_putc -ustrtoull -ulseek64 -usetmntent -uiconv_open -ufputc -upause -ustrtok -ustrtod -ufputs -ufchmod -ucfmakeraw -udup2 -utwalk -uinet_ntop -ustrsep -ugetpgrp -uinet_ntoa -umemcpy -ufileno -uperror -usrandom -uumount -ustrncmp -umbtowc -ustrcat -ugetsockname -uclose -ujrand48 -ustrchr -ugetnetbyaddr -uregcomp -uvdprintf -ufcntl -u__lxstat64 -uinit_module -usigaction -usetsockopt -umallopt -ucloselog -ustrftime -uchmod -utoupper -upread -upoll -usigprocmask -uraise -uputs -udup -ureaddir64 -u__isnan -ufread -ustrsignal -uexecvp -umbsrtowcs -ushmctl -uexecve -umadvise -umount -ugetrusage -ugetpwuid -uvsprintf -urename -umalloc -ustdout -ugetmntent_r -usrand -upopen -uprctl -umunlock -urecvmsg -utowlower -uwaitpid -uoptarg -ulongjmp -u__ctype_tolower_loc -ucalloc -usetbuf -unl_langinfo -usetitimer -utextdomain -ufopen64 -umempcpy -ulseek -ugetpwent -umallinfo -ucfsetispeed -u__lxstat -ukill -ufflush -ummap64 -u__xmknod -usethostname -ummap -uptsname -usetenv -ulchown -u_setjmp -udelete_module -uread -udaemon -ustrstr -uctime -ufsync -umemmove -usignal -uiswpunct -umblen -ufreopen -ustrcmp -ushutdown -ufgetc -upclose -uprintf -uftruncate64 -ureaddir -u__dso_handle -ufgets -ugetgid -uendmntent -uregfree -u__h_errno_location -uftell -uexit -uasctime -umbstowcs -u__strdup -ugetpagesize -ugmtime -usymlink -ugethostname -ugetnameinfo -usysinfo -ushmat -umunlockall -usocket -ucanonicalize_file_name -usiginterrupt -ustrcpy -ubsearch -ureadlink -u_exit -usetlocale -uumount2 -uwcscasecmp -usigemptyset -u__fxstat64 -ufopen -uputenv -ufdopen -uvsyslog -uwcslen -urmdir -u__res_state -u__strtoll_internal -ufork -uvprintf -ualphasort -ugetenv -uatoi -ulink -uvfprintf -u__isinf -uiswblank -uatof -ugetnetbyname -uwait4 -u_IO_getc -usbrk -uwait3 -ustrspn -uungetc -usscanf -ustrndup -usyscall -umbrtowc -uremove -uinet_pton -uglobfree -uhtons -usetpriority -ugetopt -umkstemp -uinet_aton -unice -utcsetattr -usigsuspend -uregerror -u__ctype_toupper_loc -usigaddset -uclosedir -ugetegid -uwcsdup -ugetuid -udifftime -uchown -utime -o ./tmp/netboot/tree/lib/libc.so.6-so /usr/lib/libc_pic/soinit.o /usr/lib//libc_pic.a /usr/lib/libc_pic/sofini.o /lib//ld-linux.so.2 -Wl,--version-script=/usr/lib//libc_pic.map -lgcc -L./tmp/netboot/tree/lib -L./tmp/netboot/tree/usr/lib -L./tmp/netboot/udeblibs -L/lib/ -L/usr/lib/ -L/usr/X11R6/lib/ -L./tmp/netboot/tree//usr/lib/cdebconf

Attachment: pgp4ot_cMM6gZ.pgp
Description: PGP signature


Reply to: