This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [Fwd: trouble building gcc-3.4.0-20040416 with binutils-2.15.90.0.3?]
- From: Dan Kegel <dank at kegel dot com>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Sun, 18 Apr 2004 17:26:24 -0700
- Subject: Re: [Fwd: trouble building gcc-3.4.0-20040416 with binutils-2.15.90.0.3?]
- References: <40820717.9060101@kegel.com> <20040418052643.GB22865@lucon.org> <4082A322.7070904@kegel.com> <20040418183933.GA14303@lucon.org>
H. J. Lu wrote:
On Sun, Apr 18, 2004 at 08:47:46AM -0700, Dan Kegel wrote:
H. J. Lu wrote:
I can't reproduce it on Linux/x86. Please send me your strstream.ii.
ok, attached.
This is the difference between your asm output and mine.
[my broken asm is marked with -, hj's good asm is marked with +]
--- foo.s 2004-04-18 08:47:40.000000000 -0700
+++ strstream.s 2004-04-18 11:35:17.000000000 -0700
@@ -8369,7 +8369,8 @@ _ZNSt9strstreamC2Ev:
.uleb128 0x0
.LLSDACSE1490:
.section .text._ZNSt9strstreamC2Ev
- .section .gnu.linkonce.t._ZTv0_n12_NSdD1Ev,"ax",@progbits
+ .set .LTHUNK8,_ZNSdD1Ev
+ .section .gnu.linkonce.t._ZNSdD1Ev,"ax",@progbits
.align 2
.p2align 4,,15
.weak _ZTv0_n12_NSdD1Ev
@@ -8379,24 +8380,17 @@ _ZTv0_n12_NSdD1Ev:
movl (%eax), %ecx
addl -12(%ecx), %eax
movl %eax, 4(%esp)
- call __i686.get_pc_thunk.cx
- addl $_GLOBAL_OFFSET_TABLE_, %ecx
- movl $_ZNSdD1Ev@GOT(%ecx), %ecx
- jmp *%ecx
+ jmp .LTHUNK8
.size _ZTv0_n12_NSdD1Ev, .-_ZTv0_n12_NSdD1Ev
...
A nearly identically configured gcc, built on linux instead of cygwin,
doesn't have this problem. The only difference in how they're
configured is --host, which is i686-host-linux-gnu for the one
built on Linux, and i686-host-cygwin for the one built on Cygwin:
.../crosstool-0.28-rc5/build/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/gcc-3.4.0-20040416/configure --target=i686-unknown-linux-gnu --host=i686-host_pc-cygwin
--prefix=/opt/crosstool/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3 --with-headers=/opt/crosstool/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/i686-unknown-linux-gnu/include
--with-local-prefix=/opt/crosstool/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/i686-unknown-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared
--enable-c99 --enable-long-long --with-gcc-version-trigger=.../crosstool-0.28-rc5/build/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/gcc-3.4.0-20040416/gcc/version.c
.../crosstool-0.28-rc5/build/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/gcc-3.4.0-20040416/configure --target=i686-unknown-linux-gnu --host=i686-host_pc-linux-gnu
--prefix=/opt/crosstool/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3 --with-headers=/opt/crosstool/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/i686-unknown-linux-gnu/include
--with-local-prefix=/opt/crosstool/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/i686-unknown-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared
--enable-c99 --enable-long-long --with-gcc-version-trigger=.../crosstool-0.28-rc5/build/i686-unknown-linux-gnu/gcc-3.4.0-20040416-glibc-2.1.3/gcc-3.4.0-20040416/gcc/version.c
Hmm. Maybe gcc-3.4's --host means something different than I expected.
Or maybe the problem is I'm not passing --build, too?
Sigh. I guess I'll go back and study the manual a bit more.
Clue-sticks gladly accepted...
- Dan
--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change