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: