This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Changes for a `m68k-motorola-sysv'
- To: Manfred Hollstein <manfred at s-direktnet dot de>
- Subject: Re: Changes for a `m68k-motorola-sysv'
- From: Jim Wilson <wilson at chestnut dot cygnus dot com>
- Date: Sun, 07 Sep 1997 18:50:03 -0700
- cc: law at cygnus dot com, egcs-bugs at cygnus dot com
But why didn't anybody else complain about this problem? My guess is,
everybody else is
a) either using a native assembler
or b) a quite outdated GNU as.
There is a simpler answer to this. You are the only one seeing this problem
because you are the only one trying to build a 68000 multilib from a target
that defaults to -m68881.
However, looking at the embedded configurations, I see that there is a hack
of sorts in them to make them work. In m68k-none.h in CC1_SPEC there is
%{m68000:%{!m68881:-msoft-float }}
which means that -msoft-float is always automatically added for -m68000.
This seems like the wrong solution to me. If we are always going to
add -msoft-float for the -m68000, then it should be in m68k.h not in
m68k-none.h. So I decided to accept this change.
While I was at it, I noticed a few other inconsistencies, and fixed them
also.
Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
* m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
Index: m68k.h
===================================================================
RCS file: /cvs/cvsfiles/egcs/gcc/config/m68k/m68k.h,v
retrieving revision 1.2
diff -p -r1.2 m68k.h
*** m68k.h 1997/09/05 15:36:39 1.2
--- m68k.h 1997/09/08 01:44:19
*************** extern int target_flags;
*** 135,143 ****
{ "68020", (MASK_68020|MASK_BITFIELD)}, \
{ "c68020", (MASK_68020|MASK_BITFIELD)}, \
{ "68000", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
! |MASK_68020|MASK_BITFIELD)}, \
{ "c68000", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
! |MASK_68020|MASK_BITFIELD)}, \
{ "bitfield", MASK_BITFIELD}, \
{ "nobitfield", - MASK_BITFIELD}, \
{ "rtd", MASK_RTD}, \
--- 135,143 ----
{ "68020", (MASK_68020|MASK_BITFIELD)}, \
{ "c68020", (MASK_68020|MASK_BITFIELD)}, \
{ "68000", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
! |MASK_68020|MASK_BITFIELD|MASK_68881)}, \
{ "c68000", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
! |MASK_68020|MASK_BITFIELD|MASK_68881)}, \
{ "bitfield", MASK_BITFIELD}, \
{ "nobitfield", - MASK_BITFIELD}, \
{ "rtd", MASK_RTD}, \
*************** extern int target_flags;
*** 169,178 ****
{ "5200", (MASK_5200)}, \
{ "68851", 0}, \
{ "no-68851", 0}, \
! { "68302", - (MASK_5200|MASK_68060|MASK_68040|MASK_68020|MASK_BITFIELD)}, \
! { "68332", - (MASK_5200|MASK_68060|MASK_68040|MASK_BITFIELD)}, \
{ "68332", MASK_68020}, \
! { "cpu32", - (MASK_5200|MASK_68060|MASK_68040|MASK_BITFIELD)}, \
{ "cpu32", MASK_68020}, \
{ "align-int", MASK_ALIGN_INT }, \
{ "no-align-int", -MASK_ALIGN_INT }, \
--- 169,181 ----
{ "5200", (MASK_5200)}, \
{ "68851", 0}, \
{ "no-68851", 0}, \
! { "68302", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
! MASK_68020|MASK_BITFIELD|MASK_68881)}, \
! { "68332", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
! |MASK_BITFIELD)}, \
{ "68332", MASK_68020}, \
! { "cpu32", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
! |MASK_BITFIELD)}, \
{ "cpu32", MASK_68020}, \
{ "align-int", MASK_ALIGN_INT }, \
{ "no-align-int", -MASK_ALIGN_INT }, \