From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19022 invoked by alias); 16 Feb 2004 17:23:45 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 18727 invoked by uid 48); 16 Feb 2004 17:23:36 -0000 Date: Mon, 16 Feb 2004 17:23:00 -0000 From: "soete dot joel at tiscali dot be" To: gcc-bugs@gcc.gnu.org Message-ID: <20040216172324.14163.soete.joel@tiscali.be> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c/14163] New: hppa: glibc-2.3.3 pb to build with gcc-3.[45] X-Bugzilla-Reason: CC X-SW-Source: 2004-02/txt/msg01656.txt.bz2 List-Id: Hi all, Building toolchain on my hppa-linux box (a debian unstable install) glibc failled to build with following message: [snip] /Develop/parisc-linux/xc/bin/hppa-linux-gcc -nostdlib -nostartfiles - o /Develop/parisc-linux/build/glibc/iconv/iconvconfig -Wl,-dynamic- linker=/opt/palinux-3.5.0/hppa-linux/lib/ld.so.1 /Develop/parisc- linux/build/glibc/csu/crt1.o /Develop/parisc-linux/build/glibc/csu/crti.o `/Develop/parisc-linux/xc/bin/hppa-linux-gcc --print-file- name=crtbegin.o` /Develop/parisc- linux/build/glibc/iconv/iconvconfig.o /Develop/parisc- linux/build/glibc/iconv/strtab.o /Develop/parisc- linux/build/glibc/iconv/xmalloc.o /Develop/parisc-linux/build/glibc/iconv/hash- string.o -Wl,-rpath-link=/Develop/parisc-linux/build/glibc:/Develop/parisc- linux/build/glibc/math:/Develop/parisc-linux/build/glibc/elf:/Develop/parisc- linux/build/glibc/dlfcn:/Develop/parisc-linux/build/glibc/nss:/Develop/parisc- linux/build/glibc/nis:/Develop/parisc-linux/build/glibc/rt:/Develop/parisc- linux/build/glibc/resolv:/Develop/parisc- linux/build/glibc/crypt:/Develop/parisc- linux/build/glibc/linuxthreads /Develop/parisc- linux/build/glibc/libc.so.6 /Develop/parisc-linux/build/glibc/libc_nonshared.a - lgcc `/Develop/parisc-linux/xc/bin/hppa-linux-gcc --print-file- name=crtend.o` /Develop/parisc-linux/build/glibc/csu/crtn.o /Develop/parisc-linux/build/glibc/elf/ld.so.1: undefined reference to `set_dp' collect2: ld returned 1 exit status make[2]: *** [/Develop/parisc-linux/build/glibc/iconv/iconvconfig] Error 1 make[2]: Leaving directory `/Develop/parisc-linux/sources/glibc-2.3.3- 20040212/iconv' make[1]: *** [iconv/others] Error 2 make[1]: Leaving directory `/Develop/parisc-linux/sources/glibc-2.3.3-20040212' make: *** [all] Error 2 which seems because: [snip] /Develop/parisc-linux/xc/bin/hppa-linux-gcc -nostdlib -nostartfiles -r - o /Develop/parisc-linux/build/glibc/elf/librtld.os '-Wl,-(' /Develop/parisc- linux/build/glibc/elf/dl-allobjs.os /Develop/parisc-linux/build/glibc/elf/rtld- libc.a -lgcc '-Wl,-)' \ -Wl,-Map,/Develop/parisc-linux/build/glibc/elf/librtld.os.map /Develop/parisc-linux/xc/bin/hppa-linux-gcc -nostdlib -nostartfiles - shared \ -Wl,-z,defs -Wl,--verbose 2>&1 | \ LC_ALL=C \ sed -e '/^=========/,/^=========/!d;/^=========/d' \ -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \ > /Develop/parisc-linux/build/glibc/elf/ld.so.lds /Develop/parisc-linux/xc/bin/hppa-linux-gcc -nostdlib -nostartfiles -shared - o /Develop/parisc-linux/build/glibc/elf/ld.so \ -Wl,-z,defs \ /Develop/parisc-linux/build/glibc/elf/librtld.os -Wl,--version- script=/Develop/parisc-linux/build/glibc/ld.map \ -Wl,-soname=ld.so.1 -T /Develop/parisc-linux/build/glibc/elf/ld.so.lds /Develop/parisc-linux/build/glibc/elf/librtld.os(.text+0x8c): In function `_dl_start_user': : warning: undefined reference to `set_dp' [snip]. OTC with 3.3.3 there was no such pb. To build this toolchain I used: * the same binutils-2.14.90.0.7 (debian pkg src) which I build with the same following Cmd: export PATH="/Develop/parisc-linux/xc/bin:$PATH"; /Develop/parisc- linux/sources/binutils/configure --target=hppa-linux --host=hppa-linux -- build=hppa-linux --prefix=/Develop/parisc-linux/xc --disable-nls --enable- shared --enable-targets=hppa64-linux * gcc-3.3.3ds3-0pre3 (debian pkg src) build with: export PATH="/Develop/parisc-linux/xc/bin:$PATH"; /Develop/parisc- linux/sources/gcc/configure --target=hppa-linux --host=hppa-linux --build=hppa- linux --prefix=/Develop/parisc-linux/xc --disable-shared --disable-nls --enable- languages=c or * gcc-snapshot-20040216 (cvs src) build with the same: export PATH="/Develop/parisc-linux/xc/bin:$PATH"; /Develop/parisc- linux/sources/gcc/configure --target=hppa-linux --host=hppa-linux --build=hppa- linux --prefix=/Develop/parisc-linux/xc --disable-shared --disable-nls --enable- languages=c and finaly glibc-2.3.3-20040212 (Carlos O'Donell hppa patches) with following cmd with gcc-3.3 unset LD_LIBRARY_PATH; unset LD_RUN_PATH; export CC=/Develop/parisc- linux/xc/bin/hppa-linux-gcc; export CLFAGS="-O2 -g"; export PATH="/Develop/parisc-linux/xc/bin:$PATH"; /Develop/parisc- linux/sources/glibc/configure --target=hppa-linux --host=hppa-linux -- build=hppa-linux --prefix=/opt/palinux-3.3.3/hppa-linux --without-cvs --disable- profile --enable-hacker-mode --enable-add-ons=linuxthreads --with- headers=/Develop/parisc-linux/sources/linux/include and with gcc-3.5 unset LD_LIBRARY_PATH; unset LD_RUN_PATH; export CC=/Develop/parisc- linux/xc/bin/hppa-linux-gcc; export CLFAGS="-O2 -g --param inline-unit- growth=10000 "; export PATH="/Develop/parisc- linux/xc/bin:$PATH"; /Develop/parisc-linux/sources/glibc/configure -- target=hppa-linux --host=hppa-linux --build=hppa-linux --prefix=/opt/palinux- 3.5.0/hppa-linux --without-cvs --disable-profile --enable-hacker-mode --enable- add-ons=linuxthreads --with-headers=/Develop/parisc-linux/sources/linux/include With the above mentioned error: `_dl_start_user', it appears that the pb is located in rtld.os where set_dp() code is eliminated as seems to confirm following pre-asm samples: rtld.s with gcc-3.3 [snip] .globl _rtld_local .hidden _rtld_local .set _rtld_local,_rtld_global .text .align 4 .type set_dp, @function .LFB63: .loc 1 176 0 set_dp: .PROC .CALLINFO FRAME=0,NO_CALLS .ENTRY .LBB2: ldw 36(%r26),%r20 ldw 4(%r20),%r27 .LBE2: bv %r0(%r2) copy %r26,%r28 .EXIT .PROCEND .LFE63: .size set_dp, .-set_dp #APP .text .globl _start .type _start,@function _start: ldo 64(%sp),%sp stw %r25,-40(%sp) stw %r24,-44(%sp) bl 0f,%r19 depi 0,31,2,%r19 0: addil L'_DYNAMIC - ($PIC_pcrel$0 - 8),%r19 ldo R'_DYNAMIC - ($PIC_pcrel$0 - 12)(%r1),%r26 addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 16),%r19 ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 20)(%r1),%r20 sub %r26,%r20,%r20 ldw,ma 8(%r26),%r19 1: cmpib,=,n 3,%r19,2f cmpib,<>,n 0,%r19,1b ldw,ma 8(%r26),%r19 iitlbp %r0,(%r0) 2: ldw -4(%r26),%r19 add %r19,%r20,%r19 bl _dl_start,%rp ldo -4(%r24),%r26 .globl _dl_start_user .type _dl_start_user,@function _dl_start_user: copy %ret0,%r3 addil LT'__libc_stack_end,%r19 ldw RT'__libc_stack_end(%r1),%r20 stw %sp,0(%r20) addil LT'_dl_skip_args,%r19 ldw RT'_dl_skip_args(%r1),%r20 ldw 0(%r20),%r20 ldw -40(%sp),%r25 comib,= 0,%r20,.Lnofix ldw -44(%sp),%r24 sub %r25,%r20,%r25 stw %r25,-40(%sp) sh2add %r20,%r24,%r24 stw %r24,-44(%sp) .Lnofix: addil LT'_rtld_local,%r19 ldw RT'_rtld_local(%r1),%r26 bl set_dp, %r2 ldw 0(%r26),%r26 copy %r28,%r26 sh2add %r25,%r24,%r23 bl _dl_init_internal,%r2 ldo 4(%r23),%r23 ldw -40(%sp),%r25 ldw -44(%sp),%r24 .section .data __dl_fini_plabel: .word _dl_fini .word 0xdeadbeef .previous depi 0,31,2,%r3 ldw 0(%r3),%r2 addil LT'__dl_fini_plabel,%r19 ldw RT'__dl_fini_plabel(%r1),%r23 stw %r19,4(%r23) ldw 4(%r3),%r19 bv %r0(%r2) depi 2,31,2,%r23 #NO_APP [snip] rtld.s with gcc-3.5: [snip] .globl _rtld_local .hidden _rtld_local .set _rtld_local,_rtld_global #APP .text .globl _start .type _start,@function _start: ldo 64(%sp),%sp stw %r25,-40(%sp) stw %r24,-44(%sp) bl 0f,%r19 depi 0,31,2,%r19 0: addil L'_DYNAMIC - ($PIC_pcrel$0 - 8),%r19 ldo R'_DYNAMIC - ($PIC_pcrel$0 - 12)(%r1),%r26 addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 16),%r19 ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 20)(%r1),%r20 sub %r26,%r20,%r20 ldw,ma 8(%r26),%r19 1: cmpib,=,n 3,%r19,2f cmpib,<>,n 0,%r19,1b ldw,ma 8(%r26),%r19 iitlbp %r0,(%r0) 2: ldw -4(%r26),%r19 add %r19,%r20,%r19 bl _dl_start,%rp ldo -4(%r24),%r26 .globl _dl_start_user .type _dl_start_user,@function _dl_start_user: copy %ret0,%r3 addil LT'__libc_stack_end,%r19 ldw RT'__libc_stack_end(%r1),%r20 stw %sp,0(%r20) addil LT'_dl_skip_args,%r19 ldw RT'_dl_skip_args(%r1),%r20 ldw 0(%r20),%r20 ldw -40(%sp),%r25 comib,= 0,%r20,.Lnofix ldw -44(%sp),%r24 sub %r25,%r20,%r25 stw %r25,-40(%sp) sh2add %r20,%r24,%r24 stw %r24,-44(%sp) .Lnofix: addil LT'_rtld_local,%r19 ldw RT'_rtld_local(%r1),%r26 bl set_dp, %r2 ldw 0(%r26),%r26 copy %r28,%r26 sh2add %r25,%r24,%r23 bl _dl_init_internal,%r2 ldo 4(%r23),%r23 ldw -40(%sp),%r25 ldw -44(%sp),%r24 .section .data __dl_fini_plabel: .word _dl_fini .word 0xdeadbeef .previous depi 0,31,2,%r3 ldw 0(%r3),%r2 addil LT'__dl_fini_plabel,%r19 ldw RT'__dl_fini_plabel(%r1),%r23 stw %r19,4(%r23) ldw 4(%r3),%r19 bv %r0(%r2) depi 2,31,2,%r23 #NO_APP [snip] Thanks in advance for your advise and attention, Joel PS: I will join rtld.i file asap -- Summary: hppa: glibc-2.3.3 pb to build with gcc-3.[45] Product: gcc Version: 3.5.0 Status: UNCONFIRMED Severity: critical Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: soete dot joel at tiscali dot be CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: hppa-linux GCC host triplet: hppa-linux GCC target triplet: hppa-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14163