This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: error while x-compiling libgcc2.c
- From: ganesh gopalasubramanian <gganeshgcc at gmail dot com>
- To: spira dot inhabitant at gmail dot com
- Cc: gcc-help at gcc dot gnu dot org
- Date: Tue, 31 Mar 2009 11:49:16 +0530
- Subject: Re: error while x-compiling libgcc2.c
Hi Florent,
I am facing the problem too. How did u sort that out?
Ganesh
> Hi,
>
> I am workingon a new port.
> Target: 16 bits, no hard mul.
>
> My problem is when I try to compile libgcc2, it finishes with error:
> __________________________________________________________________
> /home/guest1/gcc/build_target/./gcc/xgcc
> -B/home/guest1/gcc/build_target/./gcc/
> -B/home/guest1/target/target/bin/ -B/home/guest1/target/target/lib/
> -isystem /home/guest1/target/target/include -isystem
> /home/guest1/target/target/sys-include -O2 -g -g -O2 -O2 -O2 -g -g
> -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings
> -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
> -isystem ./include -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
> -Dinhibit_libc -I. -I. -I../.././gcc -I../../../gcc-4.3.3/libgcc
> -I../../../gcc-4.3.3/libgcc/. -I../../../gcc-4.3.3/libgcc/../gcc
> -I../../../gcc-4.3.3/libgcc/../include -o _muldi3.o -MT _muldi3.o
> -MD -MP -MF _muldi3.dep -DL_muldi3 -c
> ../../../gcc-4.3.3/libgcc/../gcc/libgcc2.c \
>
> xgcc: Internal error: Segmentation fault (program cc1)
> Please submit a full bug report.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> make: *** [_muldi3.o] Error 1
> _________________________________________________________________
>
>
> Here is the piece of code in libgcc2.c which provokes the crash:
> _________________________________________________________________
> #ifdef L_muldi3
> DWtype
> __muldi3 (DWtype u, DWtype v)
> {
> const DWunion uu = {.ll = u};
> const DWunion vv = {.ll = v};
> DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)};
>
> w.s.high += ((UWtype) uu.s.low * (UWtype) vv.s.high
> + (UWtype) uu.s.high * (UWtype) vv.s.low);
>
> return w.ll;
> }
> #endif
> _________________________________________________________________
>
>
> More precisely the crash is on this line:
> DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)};
>
> I don't know what's wrong in my machine description. I tried to
> include a pattern "umulsidi3" but it does not change anything.
> I do not find the definition of this __umulsidi3.
>
> Has someone any idea ? any clue ?
>
> Thank you.
> Regards.
>
> Florent