This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
error while x-compiling libgcc2.c
- From: Florent DEFAY <spira dot inhabitant at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 25 Mar 2009 16:33:14 +0100
- Subject: error while x-compiling libgcc2.c
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