Subject: port-m68k/6288: egcs for m68k using the wrong abi by default
To: None <gnats-bugs@gnats.netbsd.org>
From: Chas Williams <chas@cmf.nrl.navy.mil>
List: netbsd-bugs
Date: 10/13/1998 19:06:19
>Number: 6288
>Category: port-m68k
>Synopsis: egcs for m68k using the wrong abi by default
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Tue Oct 13 16:20:01 1998
>Last-Modified:
>Originator:
>Organization:
naval research laboratory, washington, dc
>Release: 11 oct 98
>Environment:
NetBSD thirdoffive 1.3H NetBSD 1.3H mac68k
>Description:
i already submitted this but sent it to category 'egcs' which is
a mistake and i sent the wrong diff. it should be MASK_ALIGN_INT
not TARGET_ALIGN_INT. again, egcs is assuming the 16 bit api, not
32 bit for netbsd on m68k platforms (see dist/gcc/config/m68k/m68k.h).
>How-To-Repeat:
try to compile ifconfig/ifconfig.c, and you get the error:
% make
cc -O -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Werror -c ifconfig.c
cc1: warnings being treated as errors
ifconfig.c:118: warning: alignment of `addreq' is greater than maximum object file alignment. Using 2.
% cc -v
Using builtin specs.
gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
>Fix:
apply the following diff to /usr/src/gnu/dist/gcc/config/m68k/netbsd.h:
--- netbsd.h.000 Tue Oct 13 14:20:01 1998
+++ netbsd.h Tue Oct 13 15:39:31 1998
@@ -4,7 +4,7 @@
#include <netbsd.h>
-#define TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68020)
+#define TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68020|MASK_ALIGN_INT)
/* Define __HAVE_68881__ in preprocessor, unless -msoft-float is specified.
This will control the use of inline 68881 insns in certain macros. */
>Audit-Trail:
>Unformatted: