------- Additional Comments From drow at false dot org  2005-04-13 17:50 -------
Subject: Re:  New: building mips/64 cross compiler on x86 produces incorrect 
assembler code for _divdi3 with -fnon-call-exceptions

On Wed, Apr 13, 2005 at 05:22:07AM -0000, herbert at 13thfloor dot at wrote:
> ./configure --enable-languages=c --disable-nls --disable-threads
> --disable-shared --disable-checking --prefix=/usr --target=mips-linux
> make TARGET_LIBGCC2_CFLAGS='-Dinhibit_libc -D__gthr_posix_h'
> 
> results in ...
> /gcc-3.3.5/gcc/xgcc -B/gcc-3.3.5/gcc/ -B/usr/mips-linux/bin/
> -B/usr/mips-linux/lib/ -isystem /usr/mips-linux/include -O2  -DIN_GCC
> -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes
> -Wmissing-prototypes -isystem ./include  -fPIC -g  -DIN_LIBGCC2
> -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I. -I./. -I./config
> -I./../include  -DL_divdi3 -c ./libgcc2.c -fexceptions -fnon-call-exceptions 
> -o
> libgcc/./_divdi3.o
> /root/tmp/ccI71cbx.s: Assembler messages:
> /root/tmp/ccI71cbx.s:956: Error: operation combines symbols in different 
> segments
> 
> 955        .4byte  $LASFDE1-$Lframe1
> 956        .4byte  $LFB4-.
> 957        .4byte  $LFE4-$LFB4
> 
> (removing the '-.' in that line *G* makes it work with gas 2.15.94.0.2.2)

The feature was removed from the assembler, because it is not ABI
compliant.  This is fixed in GCC 3.4 and later.  You can just delete
the definition in config/mips/linux.h that causes this.

ASM_PREFERRED_EH_DATA_FORMAT or something similar, I don't remember the
spelling.




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20985

Reply via email to