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