This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
m68k assembler errors
- To: "'gcc-bugs at gcc dot gnu dot org'" <gcc-bugs at gcc dot gnu dot org>
- Subject: m68k assembler errors
- From: "Beere, Chris" <Chris dot Beere at cwcom dot co dot uk>
- Date: Thu, 2 Dec 1999 11:53:45 -0000
Hello,
We are currently using gcc 2.4.5 and have decided to upgrade to
2.95.2. Our system is an old version of Unix, System V R3V8 from Motorola,
on their Delta platform which uses the M68040 processor. We are having some
trouble getting the assembler parts to assemble correctly. I decided it
would be better to use the GNU assembler and linker so I changed the
compiler configuration file /lib/.compilerc to reflect this.
Current assembler and linker
/bin/as
/bin/ld
(hilda)# /bin/as -V
/bin/as: assembler - @(#)pass0.c 55.1 91/05/29
Nonexistent file
(hilda)# /bin/ld -V
ld : SYSTEM V/68 R3V7, Motorola C Issue 03.70 (91/07/26) : Version 1.8.2.1:
11/19/85
(hilda)#
The GNU assembler and linker are:-
/usr/local/bin/gas
/usr/local/bin/gld
/usr/local/bin/gas --version
GNU assembler 2.9.1
Copyright 1997 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
This assembler was configured for a target of `delta-sysv3'.
/usr/local/bin/gld --version
GNU ld 2.9.1
Copyright 1997 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
Supported emulations:
delta68
When we run 'make bootstrap' it fails to assemble the floating point
instructions:-
rm -f tmplibgcc1.a
for name in _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _lshrsi3 _ashrsi3
_ashlsi3
_divdf3 _muldf3 _negdf2 _adddf3 _subdf3 _fixdfsi _fixsfsi _floatsidf
_floatsisf
_truncdfsf2 _extendsfdf2 _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 _eqdf2
_nedf2
_gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2; \
do \
echo ${name}; \
rm -f ${name}.o; \
cc -DIN_LIBGCC1 -O -I. -I../../src/gcc-2.95.2/gcc
-I../../src/gcc-2.95.2/gcc/c
onfig -I../../src/gcc-2.95.2/gcc/../include -c -DL${name}
../../src/gcc-2.95.2/g
cc/libgcc1.c; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
mv libgcc1.o ${name}.o; \
ar qc tmplibgcc1.a ${name}.o; \
rm -f ${name}.o; \
done
_mulsi3
_udivsi3
_divsi3
_umodsi3
_modsi3
_lshrsi3
_ashrsi3
_ashlsi3
_divdf3
/usr/tmp/ctmAAAa17388.s: Assembler messages:
/usr/tmp/ctmAAAa17388.s:7: Error: Unknown operator -- statement `fdmov.d
8(%fp),
%fp0' ignored
/usr/tmp/ctmAAAa17388.s:8: Error: invalid instruction for this architecture;
nee
ds 68040 or 68060 -- statement `fddiv.d 16(%fp),%fp0' ignored
make[2]: *** [libgcc1.a] Error 1
make[2]: Leaving directory `/users2/gnu/gcc/obj/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/users2/gnu/gcc/obj/gcc'
make: *** [bootstrap] Error 2
So I added -m68040 option into the file /lib/.compilerc and did the make
again, failed at same point with the first error only.
Error: Unknown operator -- statement `fdmov.d 8(%fp),%fp0' ignored
How do we make gas work properly with 68040 instructions? The old assembler
works.
regards
Chris Beere
Phone: +44 (0) 1923 435817
Fax: +44 (0) 1923 435370
Email: chris.beere@cwcom.co.uk