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 \
-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 932FUNC GLOBAL DEFAULT 10 execvp
972 1: 00082ff0 889FUNC GLOBAL DEFAULT 10 _dl_addr
367 1: 0004ff40 8FUNC GLOBAL DEFAULT 10 getpgrp
781 2: 309FUNC GLOBAL DEFAULT UND ___tls_get_addr
385 2: 00078fa051FUNC 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 -umb