Subject: Re: Non "new-toolchain" platforms
To: Matt Fredette <fredette@theory.lcs.mit.edu>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: tech-toolchain
Date: 01/28/2002 13:13:46
--dFvuq/4WPi1dbS7Q
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sun, Jan 27, 2002 at 09:28:53PM -0500, Matt Fredette wrote:

 > Oh yeah, right, I forgot about my config/m68k/netbsd-m68000-elf.h.
 > FWIW here's what I use:

BTW, I've committed the following patch to our in-tree GCC 2.95.3.  It
is a back-port of my GCC-current m68010-*-netbsdelf*|m68k-*-netbsdelf*
configuration.

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>

--dFvuq/4WPi1dbS7Q
Content-Type: text/plain; charset=us-ascii
Content-Description: m68010-patch
Content-Disposition: attachment; filename=foo

Index: configure
===================================================================
RCS file: /cvsroot/gnusrc/gnu/dist/toolchain/gcc/configure,v
retrieving revision 1.15
diff -c -r1.15 configure
*** configure	2001/12/15 02:18:26	1.15
--- configure	2002/01/28 21:06:42
***************
*** 2932,2938 ****
  	hppa*-*-*)
  		cpu_type=pa
  		;;
! 	m68000-*-*)
  		cpu_type=m68k
  		;;
  	mips*-*-*)
--- 2932,2938 ----
  	hppa*-*-*)
  		cpu_type=pa
  		;;
! 	m680[01]0-*-*)
  		cpu_type=m68k
  		;;
  	mips*-*-*)
***************
*** 4380,4385 ****
--- 4380,4393 ----
  		float_format=m68k
  		;;
  	m68*-*-netbsdelf*)
+                 case $machine in
+                   m68010-*) 
+ 		    target_cpu_default="0"
+                     ;;
+                   *)
+ 		    target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
+                     ;;
+                 esac
  		float_format=m68k
  		gas=yes gnu_ld=yes
  		;;
Index: configure.in
===================================================================
RCS file: /cvsroot/gnusrc/gnu/dist/toolchain/gcc/configure.in,v
retrieving revision 1.15
diff -c -r1.15 configure.in
*** configure.in	2001/12/15 02:18:26	1.15
--- configure.in	2002/01/28 21:06:56
***************
*** 498,504 ****
  	hppa*-*-*)
  		cpu_type=pa
  		;;
! 	m68000-*-*)
  		cpu_type=m68k
  		;;
  	mips*-*-*)
--- 498,506 ----
  	hppa*-*-*)
  		cpu_type=pa
  		;;
! changequote(,)dnl
! 	m680[01]0-*-*)
! changequote([,])dnl
  		cpu_type=m68k
  		;;
  	mips*-*-*)
***************
*** 2054,2059 ****
--- 2056,2069 ----
  		float_format=m68k
  		;;
  	m68*-*-netbsdelf*)
+ 		case $machine in
+ 		  m68010-*)
+ 		    target_cpu_default="0"
+ 		    ;;
+ 		  *)
+ 		    target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
+ 		    ;;
+ 		esac
  		float_format=m68k
  		gas=yes gnu_ld=yes
  		;;
Index: config/m68k/netbsd-elf.h
===================================================================
RCS file: /cvsroot/gnusrc/gnu/dist/toolchain/gcc/config/m68k/netbsd-elf.h,v
retrieving revision 1.3
diff -c -r1.3 netbsd-elf.h
*** config/m68k/netbsd-elf.h	2001/12/20 18:14:35	1.3
--- config/m68k/netbsd-elf.h	2002/01/28 21:06:59
***************
*** 32,48 ****
  #define NETBSD_ELF
  #include <netbsd.h>
  
! /* 68020 with 68881 */
! #define TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68020)
  
  #define bsd4_4
  #undef HAS_INIT_SECTION
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__} %{posix:-D_POSIX_SOURCE}"
  
  #undef ASM_SPEC
! #define ASM_SPEC " %| %{m68030} %{m68040} %{m68060} %{fpic:-k} %{fPIC:-k -K}"
  
  /* Provide a set of pre-definitions and pre-assertions appropriate for
     the m68k running svr4.  */
--- 32,90 ----
  #define NETBSD_ELF
  #include <netbsd.h>
  
! /* Default target comes from config.gcc */
! #undef TARGET_DEFAULT  
! #define TARGET_DEFAULT TARGET_CPU_DEFAULT 
  
  #define bsd4_4
  #undef HAS_INIT_SECTION
  
+ 
+ #define EXTRA_SPECS \
+   { "cpp_cpu_default_spec", CPP_CPU_DEFAULT_SPEC }, \
+   { "cpp_cpu_spec",         CPP_CPU_SPEC }, \
+   { "cpp_fpu_spec",         CPP_FPU_SPEC }, \
+   { "asm_default_spec",     ASM_DEFAULT_SPEC },
+ 
+ 
+ #define CPP_CPU_SPEC \
+   "%{m68010:-D__mc68010__} \
+    %{m68020:-D__mc68020__} \
+    %{m68030:-D__mc68030__} \
+    %{m68040:-D__mc68040__} \
+    %(cpp_cpu_default_spec)"
+ 
+ 
+ #undef TARGET_VERSION
+ #if TARGET_DEFAULT & MASK_68020
+ #define TARGET_VERSION fprintf (stderr, " (NetBSD/m68k ELF)");
+ #define CPP_CPU_DEFAULT_SPEC "%{!m680*:-D__mc68020__}"
+ #define ASM_DEFAULT_SPEC "%{!m680*:-m68020}"
+ #else
+ #define TARGET_VERSION fprintf (stderr, " (NetBSD/68010 ELF)");
+ #define CPP_CPU_DEFAULT_SPEC "%{!m680*:-D__mc68010__}"
+ #define ASM_DEFAULT_SPEC "%{!m680*:-m68010}" 
+ #endif
+ 
+ 
+ #if TARGET_DEFAULT & MASK_68881
+ #define CPP_FPU_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__}"
+ #else
+ #define CPP_FPU_SPEC "%{m68881:-D__HAVE_68881__ -D__HAVE_FPU__}"
+ #endif
+ 
+ 
  #undef CPP_SPEC
! #define CPP_SPEC \
!   "%{posix:-D_POSIX_SOURCE} %(cpp_cpu_spec) %(cpp_fpu_spec)"
  
+ 
  #undef ASM_SPEC
! #define ASM_SPEC \
!   " %| %(asm_default_spec) \
!     %{m68010} %{m68020} %{m68030} %{m68040} %{m68060} \
!     %{fpic:-k} %{fPIC:-k -K}"
! 
  
  /* Provide a set of pre-definitions and pre-assertions appropriate for
     the m68k running svr4.  */

--dFvuq/4WPi1dbS7Q--