This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/20985] building mips/64 cross compiler on x86 produces incorrect assembler code for _divdi3 with -fnon-call-exceptions
- From: "herbert at 13thfloor dot at" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Apr 2005 21:31:30 -0000
- Subject: [Bug middle-end/20985] building mips/64 cross compiler on x86 produces incorrect assembler code for _divdi3 with -fnon-call-exceptions
- References: <20050413052157.20985.herbert@13thfloor.at>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From herbert at 13thfloor dot at 2005-04-13 21:31 -------
Subject: Re: building mips/64 cross compiler on x86 produces incorrect assembler code for _divdi3 with -fnon-call-exceptions
On Wed, Apr 13, 2005 at 05:50:59PM -0000, drow at false dot org wrote:
>
> ------- 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.
yep, that fixes it ...
thanks a lot!
Herbert
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20985
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20985