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: pgpCQR6V1kFxs.pgp
Description: PGP signature

Reply via email to