This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
NEWBIE question - unrecognizable insn in libgcc2
- From: "David Kane" <davidfrkane at bigpond dot com>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Sat, 29 Jan 2005 12:59:40 +1100
- Subject: NEWBIE question - unrecognizable insn in libgcc2
Up front I want to say that I am not looking for someone to solve this
problem (unless they really want to), instead I was hoping someone could
explain how to debug this issue.
I am learning gcc on the fly due to a desire to get a z8000 targeted c
compiler. Due to availability reasons I am using a mingw host. I found that
the ecos swtools 1.21 had a gcc z8000 machine decription so I thought to try
and bring that into gcc-3.4-20050121. I sucessfully built
binutils-2.15.91-20040904-1 for z z8k-coff target (well it compiles a quick
test assembler source). I then fixed gcc (collect2, fixinc and @D resolving
to blank for INCLUDES in gcc/makefile.in) to compile on mingw. Now gcc
compiles up to the libgcc2 stage and then I get:
MY SEPARATOR--------------------------------------------
if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi
/g/cross-gcc/build/z8k-coff/gcc/gcc/xgcc -B/g/cross-gcc/build/z8k-coff/gcc/g
cc/ -B/usr/local/z8k-coff/bin/ -B/usr/local/z8k-coff/lib/ -isystem
/usr/local/z8k-coff/include -isystem
usr/local/z8k-coff/sys-include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwr
ite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-isystem
./include -DCMPtype=HItype -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhi
bit_libc -I. -I../../../../source/gcc-3.4-20050121/gcc -I../../../../source/
gcc-3.4-20050121/gcc/config -I../../../../source/gcc-3.4-20050121/gcc/../inc
lude -DL_muldi3 -c ../../../../source/gcc-3.4-20050121/gcc/libgcc2.c -o
libgcc/./_muldi3.o
../../../../source/gcc-3.4-20050121/gcc/libgcc2.c: In function `__mulsi3':
../../../../source/gcc-3.4-20050121/gcc/libgcc2.c:537: error: unrecognizable
insn:
(insn 129 69 70 2 ../../../../source/gcc-3.4-20050121/gcc/libgcc2.c:531 (set
(subreg:HI (mem:SI (reg/f:HI 14 r14) [4 __w+0 S4 A16]) 0)
(reg:HI 4 r4 [54])) -1 (nil)
(nil))
../../../../source/gcc-3.4-20050121/gcc/libgcc2.c:537: internal compiler
error: in extract_insn, at recog.c:2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [libgcc/./_muldi3.o] Error 1
make[2]: Leaving directory `/g/cross-gcc/build/z8k-coff/gcc/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/g/cross-gcc/build/z8k-coff/gcc/gcc'
make: *** [install-gcc] Error 2
MY SEPARATOR--------------------------------------------
I am using the following script to compile:
MY SEPARATOR--------------------------------------------
#---------------------------------------------------------------------------
------
# Source and Install directories
#---------------------------------------------------------------------------
------
#SRCDIR=../../../source/gcc-3.4.2-20040916-1 # the sourcecode dir for gcc
#SRCDIR=../../../source/gcc-3.4.3 # the sourcecode dir for gcc
SRCDIR=../../../source/gcc-3.4-20050121 # the sourcecode dir for gcc
# This must be specified in the format shown here
# as one of the tools built during the process will fail
# if absolute paths are specified
# the example here assumes that the gcc source directory
# is at the same level as the script
prefix=g:/cross-gcc/z8k-coff # installation directory
# This must be specified in the format shown here
# or gcc won't be able to find it's libraries and includes
# if you move the installation
#---------------------------------------------------------------------------
------
# set the path for the installed binutils
#---------------------------------------------------------------------------
------
export PATH=${PATH}:/g/cross-gcc/z8k-coff/bin
#---------------------------------------------------------------------------
------
# set the target and compiler flags
#---------------------------------------------------------------------------
------
target=z8k-coff
export CFLAGS='-O2 -pipe'
export CXXFLAGS='-O2 -pipe'
export LDFLAGS='-s'
export DEBUG_FLAGS=''
#---------------------------------------------------------------------------
------
# build and install just the c compiler
#---------------------------------------------------------------------------
------
mkdir -p $target/gcc
cd $target/gcc
$SRCDIR/configure \
--enable-languages=c,c++ \
--enable-interwork --enable-multilib\
--with-gcc --with-gnu-ld --with-gnu-as --with-stabs \
--disable-shared --disable-threads --disable-win32-registry --disable-nls\
--target=$target \
--with-newlib \
--without-headers \ # Alternatively use --without-headers here
--prefix=$prefix -v\
2>&1 | tee gcc_configure.log
make all-gcc | tee make-c-only.log 2>&1
make install-gcc | tee install-c-only.log 2>&1
MY SEPARATOR--------------------------------------------
I am guessing a .md source file error, but how do I determine where to look
for it from the error messages above.
Thanks,
David