bug-gnu-utils
[Top][All Lists]
Advanced

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

gas bug (sparclite-coff xgcc)


From: John Stebbins
Subject: gas bug (sparclite-coff xgcc)
Date: 23 Oct 2002 15:11:44 -0600

I've been attempting to create a sparclite-coff gcc cross compiler and
have run up against what appears to be a bug in gas.

I have sources for:
gcc-3.2
binutils-2.13
newlib-1.10.0

I follow the directions to do a one-step build of gcc, binutils, and
libs. This involves creating a few links from gcc source dir to binutils
and newlib source dirs.

My host system is i686-pc-linux-gnu.

I configure gcc build like this:
../gcc-3.2/configure --prefix=/usr/local/sparc --program-prefix=sparc-
--program-suffix=-3.2 --with-local-prefix=/usr/local/sparc
--disable-shared --with-stabs --disable-threads --enable-target-optspace
--enable-language=c,c++ --disable-nls --with-newlib
--target=sparclite-coff -v

Then:
make all

binutils are built (including gas) and then it starts building libgcc.
While compiling gcc/libgcc2.c it fails with message:

/tmp/cch53SPl.s: Assembler messages:
/tmp/cch53SPl.s:678: Error: internal error: can't export reloc type 69
(`BFD_RELOC_SPARC_UA32')
/tmp/cch53SPl.s:694: Error: internal error: can't export reloc type 69
(`BFD_RELOC_SPARC_UA32')

Here is the xgcc command line that caused this error:

/home/stebbins/PubSrc/sparc-tools/build-3.2/gcc/xgcc
-B/home/stebbins/PubSrc/sparc-tools/build-3.2/gcc/ -nostdinc
-B/home/stebbins/PubSrc/sparc-tools/build-3.2/sparclite-coff/newlib/
-isystem
/home/stebbins/PubSrc/sparc-tools/build-3.2/sparclite-coff/newlib/targ-include 
-isystem /home/stebbins/PubSrc/sparc-tools/gcc-3.2/newlib/libc/include 
-B/usr/local/sparc/sparclite-coff/bin/ -B/usr/local/sparc/sparclite-coff/lib/ 
-isystem /usr/local/sparc/sparclite-coff/include 
-L/home/stebbins/PubSrc/sparc-tools/build-3.2/ld -O2  -DIN_GCC -DCROSS_COMPILE  
 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem 
./include   -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. 
-I../../gcc-3.2/gcc -I../../gcc-3.2/gcc/. -I../../gcc-3.2/gcc/config 
-I../../gcc-3.2/gcc/../include  -DL_divdi3 -c ../../gcc-3.2/gcc/libgcc2.c 
-fexceptions -fnon-call-exceptions -o libgcc/./_divdi3.o

To get a better look at things I recompile with -S flag to generate the
assembly file and have a look at lines 678 and 694.  Here is what I see
there.

676     .LASFDE1:
677        .uaword .LASFDE1-.Lframe1
678        .uaword .LFB1                 <----internal error is here
679        .uaword .LFE1-.LFB1
680        .byte   0x4

...

692     .LASFDE3:
693        .uaword .LASFDE3-.Lframe1
694        .uaword .LFB2                 <----internal error is here
695        .uaword .LFE2-.LFB2
696        .byte   0x4

Notice the similarity between the lines that cause the errors.  I went
back and compiled up a few other files that succeeded to build using the
-S flag to generate assembly and looked for other .uaword directives. 
None of the files that succeed have similar code.

After checking for bug reports and not finding any that match my
problem, I started backing off to older versions of binutils.  The
problem exists in 2.12, but does not exist in 2.11.

I also verified that this problem exists when building a gcc-3.1.1 cross
compiler.

I don't subscribe to the list, so if anyone has a quick fix for this, I
would appreciate it if you would respond direct to me.

Thanks

-- 
John Stebbins <address@hidden>
MystroTV





reply via email to

[Prev in Thread] Current Thread [Next in Thread]