This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

m68k assembler errors


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]