egcs-1.0.2 cpu32 build bug for --target=m68k-rom68-coff
Parag Patel
parag@sirius.com
Fri Mar 20 11:33:00 GMT 1998
I'm building egcs-1.0.2 plus newlib-1.8.0 build for the -m5200 Coldfire
target processor under FreeBSD. gas/ld etc are from the gas-970915
package from egcs.cygnus.com, which was the newest one I could find there.
Bug:
-mcpu32 appears to generate an incorrect opcode when trying to
build the egcs-1.0.2/gcc runtime libraries, specifically routine _moddi3
Workaround (only if -mcpu32 code-generator is not needed):
Edit egcs-1.0.2/gcc/config/m68k/t-m68kbare and remove all references
to cpu32 from the MULTILIB* lines so cpu32 libs are not built.
I am unfamiliar with CPU32 and don't know if the opcode is a typo or the
result of some deeper error, or simply an out-of-date gas. With the
workaround, everything builds and runs just fine on my m5200 Coldfire
evaluation board.
(I believe egcs-1.0.1 had no such problems as cpu32 was not turned on.)
If you need any more details, just ask. Thank-you for all your efforts.
-- Parag Patel <parag@cgt.com>
---------------------------------------------------------------------------
-
# configure command used to setup egcs-1.0.2:
./configure --target=m68k-rom68k-coff --with-gnu-as --with-gnu-ld
--with-newlib
---------------------------------------------------------------------------
-
# config.status from egcs-1.0.2:
#!/bin/sh
# This file was generated automatically by configure. Do not edit.
# This directory was configured as follows:
./configure --host=i386-unknown-freebsd2.2.6 --target=m68k-rom68k-coff
--with-gnu-as --with-gnu-ld --with-newlib --norecursion
#
---------------------------------------------------------------------------
-
# configure line from egcs-1.0.2/gcc/config.status:
# ./configure --host=i386-unknown-freebsd2.2.6 --target=m68k-rom68k-coff
--with-gnu-as --with-gnu-ld --with-newlib --with-newlib
--cache-file=../config.cache
---------------------------------------------------------------------------
-
# Command used to compile under egcs-1.0.2/gcc that generates the error:
$ gmake "LANGUAGES=c"
---------------------------------------------------------------------------
-
# truncated make output (full output is appended below):
.....
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi
_fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _op_new
_op_vnew _new_handler _op_delete _op_vdel _bb _shtab _clear_cache
_trampoline __main _exit _ctors _eh _pure; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-mcpu32 -I. -I. -I./config -c -DL${name} \
./libgcc2.c -o ${name}.o; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done
_muldi3
_divdi3
/var/tmp/ccmY3957.s: Assembler messages:
/var/tmp/ccmY3957.s:450: Error: operands mismatch -- statement `tst.l
%a0' ignored
gmake[2]: *** [libgcc2.a] Error 1
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
gmake[1]: *** [stmp-multilib-sub] Error 2
gmake[1]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
gmake: *** [stmp-multilib] Error 1
---------------------------------------------------------------------------
-
# full make output:
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
for i in `./xgcc -B./ --print-multi-lib`; do \
dir=`echo $i | sed -e 's/;.*$//'`; \
flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
RANLIB="/usr/local/m68k-rom68k-coff/bin/ranlib" RANLIB_TEST="[ -f
/usr/local/m68k-rom68k-coff/bin/ranlib ]" \
LANGUAGES="c" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
${flags}" \
MULTILIB_CFLAGS="${flags}" \
LIBGCC1="libgcc1-asm.a" LIBGCC2="libgcc2.a" \
dir="${dir}" stmp-multilib-sub; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
done
gmake[1]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
rm -f libgcc2.a
if [ -d . ]; then \
cd .; \
rm -f libgcc.a ; \
else true; \
fi
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc "
libgcc2.a
gmake[2]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi
_fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _op_new
_op_vnew _new_handler _op_delete _op_vdel _bb _shtab _clear_cache
_trampoline __main _exit _ctors _eh _pure; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc -I.
-I. -I./config -c -DL${name} \
./libgcc2.c -o ${name}.o; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_ashldi3
_ashrdi3
_ffsdi2
_udiv_w_sdiv
_udivmoddi4
_cmpdi2
_ucmpdi2
_floatdidf
_floatdisf
_fixunsdfsi
_fixunssfsi
_fixunsdfdi
_fixdfdi
_fixunssfdi
_fixsfdi
_fixxfdi
_fixunsxfdi
_floatdixf
_fixunsxfsi
_fixtfdi
_fixunstfdi
_floatditf
__gcc_bcmp
_varargs
__dummy
_eprintf
_op_new
_op_vnew
_new_handler
_op_delete
_op_vdel
_bb
_shtab
_clear_cache
_trampoline
__main
_exit
_ctors
_eh
_pure
for file in ./frame.c fpgnulib.c xfgnulib.c cplib2.txt ; do \
name=`echo ${file} | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e
's/[.]txt$//'`; \
oname=` echo ${name} | sed -e 's,.*/,,'`; \
if [ ${name}.txt = ${file} ]; then \
for f in .. `cat ${file}`; do if [ x${f} != x.. ]; then \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc" \
CFLAGS="-g" HOST_PREFIX="" \
HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc "
${f}; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${f}; \
rm -f ${f}; \
else true; \
fi; done; \
else \
echo ${name}; \
if [ ${name}.asm = ${file} ]; then \
cp ${file} ${name}.s || exit 1; file=${name}.s; \
else true; fi; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc -I.
-I. -I./config -c ${file}; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${oname}.o; \
rm -f ${name}.s ${oname}.o; \
fi; \
done
./frame
fpgnulib
xfgnulib
mv tmplibgcc2.a libgcc2.a
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ xlibgcc1-asm.a != xlibgcc1-asm.a ]; \
then true; \
else rm -f libgcc1-asm.a; \
fi
if [ xlibgcc1-asm.a != xlibgcc1-asm.a ]; \
then true; \
else \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc "
libgcc1-asm.a; \
fi
gmake[2]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc1.a libgcc1.S
cp ./config/m68k/lb1sf68.asm libgcc1.S
for name in _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float
_floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2
_gesf2 _ltsf2 _lesf2; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc -I.
-I. -I./config -c -DL${name} libgcc1.S; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
mv libgcc1.o ${name}.o; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc1.a ${name}.o; \
rm -f ${name}.o; \
done
_mulsi3
_udivsi3
_divsi3
_umodsi3
_modsi3
_double
_float
_floatex
_eqdf2
_nedf2
_gtdf2
_gedf2
_ltdf2
_ledf2
_eqsf2
_nesf2
_gtsf2
_gesf2
_ltsf2
_lesf2
rm -f libgcc1.S
mv tmplibgcc1.a libgcc1-asm.a
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
rm -rf tmplibgcc.a tmpcopy
mkdir tmpcopy
if [ xlibgcc1-asm.a != x ]; \
then (cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar x ../libgcc1-asm.a);
\
else true; \
fi
(cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar x ../libgcc2.a)
(cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar rc ../tmplibgcc.a *.o)
rm -rf libgcc2.a tmpcopy
if [ -f /usr/local/m68k-rom68k-coff/bin/ranlib ] ; then
/usr/local/m68k-rom68k-coff/bin/ranlib tmplibgcc.a; else true; fi
if [ -d . ]; then true; else mkdir .; fi
mv tmplibgcc.a ./libgcc.a
for f in .. ; do if [ x${f} != x.. ]; then \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
MULTILIB_CFLAGS="" T="t" t${f}; \
mv t${f} ./${f}; \
else true; \
fi; done
gmake[1]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
gmake[1]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
rm -f libgcc2.a
if [ -d m68000 ]; then \
cd m68000; \
rm -f libgcc.a ; \
else true; \
fi
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m68000" libgcc2.a
gmake[2]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi
_fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _op_new
_op_vnew _new_handler _op_delete _op_vdel _bb _shtab _clear_cache
_trampoline __main _exit _ctors _eh _pure; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m68000 -I. -I. -I./config -c -DL${name} \
./libgcc2.c -o ${name}.o; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_ashldi3
_ashrdi3
_ffsdi2
_udiv_w_sdiv
_udivmoddi4
_cmpdi2
_ucmpdi2
_floatdidf
_floatdisf
_fixunsdfsi
_fixunssfsi
_fixunsdfdi
_fixdfdi
_fixunssfdi
_fixsfdi
_fixxfdi
_fixunsxfdi
_floatdixf
_fixunsxfsi
_fixtfdi
_fixunstfdi
_floatditf
__gcc_bcmp
_varargs
__dummy
_eprintf
_op_new
_op_vnew
_new_handler
_op_delete
_op_vdel
_bb
_shtab
_clear_cache
_trampoline
__main
_exit
_ctors
_eh
_pure
for file in ./frame.c fpgnulib.c xfgnulib.c cplib2.txt ; do \
name=`echo ${file} | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e
's/[.]txt$//'`; \
oname=` echo ${name} | sed -e 's,.*/,,'`; \
if [ ${name}.txt = ${file} ]; then \
for f in .. `cat ${file}`; do if [ x${f} != x.. ]; then \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc" \
CFLAGS="-g" HOST_PREFIX="" \
HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m68000" ${f}; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${f}; \
rm -f ${f}; \
else true; \
fi; done; \
else \
echo ${name}; \
if [ ${name}.asm = ${file} ]; then \
cp ${file} ${name}.s || exit 1; file=${name}.s; \
else true; fi; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m68000 -I. -I. -I./config -c ${file}; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${oname}.o; \
rm -f ${name}.s ${oname}.o; \
fi; \
done
./frame
fpgnulib
xfgnulib
mv tmplibgcc2.a libgcc2.a
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ xlibgcc1-asm.a != xlibgcc1-asm.a ]; \
then true; \
else rm -f libgcc1-asm.a; \
fi
if [ xlibgcc1-asm.a != xlibgcc1-asm.a ]; \
then true; \
else \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m68000" libgcc1-asm.a; \
fi
gmake[2]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc1.a libgcc1.S
cp ./config/m68k/lb1sf68.asm libgcc1.S
for name in _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float
_floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2
_gesf2 _ltsf2 _lesf2; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m68000 -I. -I. -I./config -c -DL${name} libgcc1.S; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
mv libgcc1.o ${name}.o; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc1.a ${name}.o; \
rm -f ${name}.o; \
done
_mulsi3
_udivsi3
_divsi3
_umodsi3
_modsi3
_double
_float
_floatex
_eqdf2
_nedf2
_gtdf2
_gedf2
_ltdf2
_ledf2
_eqsf2
_nesf2
_gtsf2
_gesf2
_ltsf2
_lesf2
rm -f libgcc1.S
mv tmplibgcc1.a libgcc1-asm.a
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
rm -rf tmplibgcc.a tmpcopy
mkdir tmpcopy
if [ xlibgcc1-asm.a != x ]; \
then (cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar x ../libgcc1-asm.a);
\
else true; \
fi
(cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar x ../libgcc2.a)
(cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar rc ../tmplibgcc.a *.o)
rm -rf libgcc2.a tmpcopy
if [ -f /usr/local/m68k-rom68k-coff/bin/ranlib ] ; then
/usr/local/m68k-rom68k-coff/bin/ranlib tmplibgcc.a; else true; fi
if [ -d m68000 ]; then true; else mkdir m68000; fi
mv tmplibgcc.a m68000/libgcc.a
for f in .. ; do if [ x${f} != x.. ]; then \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
MULTILIB_CFLAGS="-m68000" T="t" t${f}; \
mv t${f} m68000/${f}; \
else true; \
fi; done
gmake[1]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
gmake[1]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
rm -f libgcc2.a
if [ -d m5200 ]; then \
cd m5200; \
rm -f libgcc.a ; \
else true; \
fi
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m5200" libgcc2.a
gmake[2]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi
_fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _op_new
_op_vnew _new_handler _op_delete _op_vdel _bb _shtab _clear_cache
_trampoline __main _exit _ctors _eh _pure; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m5200 -I. -I. -I./config -c -DL${name} \
./libgcc2.c -o ${name}.o; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_ashldi3
_ashrdi3
_ffsdi2
_udiv_w_sdiv
_udivmoddi4
_cmpdi2
_ucmpdi2
_floatdidf
_floatdisf
_fixunsdfsi
_fixunssfsi
_fixunsdfdi
_fixdfdi
_fixunssfdi
_fixsfdi
_fixxfdi
_fixunsxfdi
_floatdixf
_fixunsxfsi
_fixtfdi
_fixunstfdi
_floatditf
__gcc_bcmp
_varargs
__dummy
_eprintf
_op_new
_op_vnew
_new_handler
_op_delete
_op_vdel
_bb
_shtab
_clear_cache
_trampoline
__main
_exit
_ctors
_eh
_pure
for file in ./frame.c fpgnulib.c xfgnulib.c cplib2.txt ; do \
name=`echo ${file} | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e
's/[.]txt$//'`; \
oname=` echo ${name} | sed -e 's,.*/,,'`; \
if [ ${name}.txt = ${file} ]; then \
for f in .. `cat ${file}`; do if [ x${f} != x.. ]; then \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc" \
CFLAGS="-g" HOST_PREFIX="" \
HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m5200" ${f}; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${f}; \
rm -f ${f}; \
else true; \
fi; done; \
else \
echo ${name}; \
if [ ${name}.asm = ${file} ]; then \
cp ${file} ${name}.s || exit 1; file=${name}.s; \
else true; fi; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m5200 -I. -I. -I./config -c ${file}; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${oname}.o; \
rm -f ${name}.s ${oname}.o; \
fi; \
done
./frame
fpgnulib
xfgnulib
mv tmplibgcc2.a libgcc2.a
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ xlibgcc1-asm.a != xlibgcc1-asm.a ]; \
then true; \
else rm -f libgcc1-asm.a; \
fi
if [ xlibgcc1-asm.a != xlibgcc1-asm.a ]; \
then true; \
else \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m5200" libgcc1-asm.a; \
fi
gmake[2]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc1.a libgcc1.S
cp ./config/m68k/lb1sf68.asm libgcc1.S
for name in _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float
_floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2
_gesf2 _ltsf2 _lesf2; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-m5200 -I. -I. -I./config -c -DL${name} libgcc1.S; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
mv libgcc1.o ${name}.o; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc1.a ${name}.o; \
rm -f ${name}.o; \
done
_mulsi3
_udivsi3
_divsi3
_umodsi3
_modsi3
_double
_float
_floatex
_eqdf2
_nedf2
_gtdf2
_gedf2
_ltdf2
_ledf2
_eqsf2
_nesf2
_gtsf2
_gesf2
_ltsf2
_lesf2
rm -f libgcc1.S
mv tmplibgcc1.a libgcc1-asm.a
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
rm -rf tmplibgcc.a tmpcopy
mkdir tmpcopy
if [ xlibgcc1-asm.a != x ]; \
then (cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar x ../libgcc1-asm.a);
\
else true; \
fi
(cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar x ../libgcc2.a)
(cd tmpcopy; /usr/local/m68k-rom68k-coff/bin/ar rc ../tmplibgcc.a *.o)
rm -rf libgcc2.a tmpcopy
if [ -f /usr/local/m68k-rom68k-coff/bin/ranlib ] ; then
/usr/local/m68k-rom68k-coff/bin/ranlib tmplibgcc.a; else true; fi
if [ -d m5200 ]; then true; else mkdir m5200; fi
mv tmplibgcc.a m5200/libgcc.a
for f in .. ; do if [ x${f} != x.. ]; then \
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
MULTILIB_CFLAGS="-m5200" T="t" t${f}; \
mv t${f} m5200/${f}; \
else true; \
fi; done
gmake[1]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
gmake[1]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
rm -f libgcc2.a
if [ -d mcpu32 ]; then \
cd mcpu32; \
rm -f libgcc.a ; \
else true; \
fi
gmake GCC_FOR_TARGET="./xgcc -B./" \
AR="/usr/local/m68k-rom68k-coff/bin/ar" AR_FLAGS="rc" CC="gcc"
CFLAGS="-g" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-mcpu32" libgcc2.a
gmake[2]: Entering directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi
_fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _op_new
_op_vnew _new_handler _op_delete _op_vdel _bb _shtab _clear_cache
_trampoline __main _exit _ctors _eh _pure; \
do \
echo ${name}; \
./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -Dinhibit_libc
-mcpu32 -I. -I. -I./config -c -DL${name} \
./libgcc2.c -o ${name}.o; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
/usr/local/m68k-rom68k-coff/bin/ar rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done
_muldi3
_divdi3
/var/tmp/ccmY3957.s: Assembler messages:
/var/tmp/ccmY3957.s:450: Error: operands mismatch -- statement `tst.l
%a0' ignored
gmake[2]: *** [libgcc2.a] Error 1
gmake[2]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
gmake[1]: *** [stmp-multilib-sub] Error 2
gmake[1]: Leaving directory `/usr/u/src/gnu/egcs-1.0.2/gcc'
gmake: *** [stmp-multilib] Error 1
More information about the Gcc-bugs
mailing list