This is the mail archive of the gcc-patches@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]

x-files must die: ONLY_INT_FIELDS


ONLY_INT_FIELDS is defined in a small number of xm headers when we
know the system compiler can't handle bitfields with enum types.
Unfortunately there is no indication of what these compilers do wrong;
crash, reject the code, or miscompile are all possibilities.

This patch takes the conservative approach, and uses enum-type
bitfields exclusively with GCC; we know this is safe.  If someone
knows enough about the problems to write a less-conservative autoconf
test, we can easily substitute that in the future.

Testing this properly would require I build and run the compiler on a
host with a non-GCC system compiler; I don't presently have access to
any of these with enough disk quota to hold a GCC source tree.  I did,
however, do the first stage of a bootstrap on i686-linux to ensure
that everything still does compile.

Note the bugfix in varasm.c, which was still using ONLY_INT_FIELDS
directly instead of the ENUM_BITFIELD() macro, and getting it wrong to
boot.

I also killed off the #define __BSD_NET2__ in xm-pa.h.  This macro is
used by our stddef.h, stdarg.h, and varargs.h, but it ought to be
defined in a CPP_PREDEFINES somewhere if it's necessary.  (Presently
it isn't.)

zw

	* configure.in: Move check for unsigned enumerated bitfields
	to macro in aclocal.m4.  Disable it for now.
	* configure, config.in: Regenerate.
	* system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
	unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
	* varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
	kind above its first use.

	* config/xm-interix.h, config/alpha/xm-alpha.h,
	config/i370/xm-linux.h, config/i386/xm-beos.h,
	config/i386/xm-mingw32.h, config/mips/xm-mips.h,
	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
	config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h, 
	Don't define ONLY_INT_FIELDS under any circumstances.

	* config/pa/xm-pa.h: Don't define __BSD_NET2__.

	* config/pa/xm-pahpux.h, config/pa/xm-papro.h,
	config/sparc/xm-sysv4.h: Delete - now identical with some
	other xm header.
	* config.gcc (hppa targets): Replace xm-pahpux.h and
	xm-papro.h with implicit xm-pa.h.
	(sparc targets): Replace xm-sysv4.h with implicit or explicit
	xm-sparc.h. 

===================================================================
Index: configure.in
--- configure.in	2001/03/12 03:29:51	1.495
+++ configure.in	2001/03/12 04:25:26
@@ -521,25 +521,8 @@ if test $gcc_cv_header_inttypes_h = yes;
 	[Define if you have a working <inttypes.h> header file.])
 fi
 
-#
-# Determine if enumerated bitfields are unsigned.   ISO C says they can 
-# be either signed or unsigned.
-#
-AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
-[AC_TRY_RUN(#include <stdlib.h>
-enum t { BLAH = 128 } ;
-struct s_t { enum t member : 8; } s ;
-int main(void)
-{            
-        s.member = BLAH;
-        if (s.member < 0) exit(1);
-        exit(0);
-
-}, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
-if test $gcc_cv_enum_bf_unsigned = yes; then
-  AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
-    [Define if enumerated bitfields are treated as unsigned values.])
-fi
+dnl Disabled until we have a complete test for buggy enum bitfields.
+dnl gcc_AC_C_ENUM_BF_UNSIGNED
 
 AC_CHECK_FUNCS(strtoul bsearch putenv popen bcopy \
 	strchr strrchr kill getrlimit setrlimit atoll atoq \
===================================================================
Index: aclocal.m4
--- aclocal.m4	2001/03/06 09:52:28	1.42
+++ aclocal.m4	2001/03/12 04:25:24
@@ -1123,3 +1123,23 @@ else
   gcc_cv_prog_$2_modern=no
 fi
 ])
+
+dnl Determine if enumerated bitfields are unsigned.   ISO C says they can 
+dnl be either signed or unsigned.
+dnl
+AC_DEFUN(gcc_AC_C_ENUM_BF_UNSIGNED,
+[AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
+[AC_TRY_RUN(#include <stdlib.h>
+enum t { BLAH = 128 } ;
+struct s_t { enum t member : 8; } s ;
+int main(void)
+{            
+        s.member = BLAH;
+        if (s.member < 0) exit(1);
+        exit(0);
+
+}, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
+if test $gcc_cv_enum_bf_unsigned = yes; then
+  AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
+    [Define if enumerated bitfields are treated as unsigned values.])
+fi])
===================================================================
Index: system.h
--- system.h	2001/03/10 22:35:01	1.91
+++ system.h	2001/03/12 04:25:28
@@ -507,14 +507,6 @@ extern void abort PARAMS ((void));
 /* Get libiberty declarations. */
 #include "libiberty.h"
 
-/* Make sure that ONLY_INT_FIELDS has an integral value.  */
-#ifdef ONLY_INT_FIELDS
-#undef ONLY_INT_FIELDS
-#define ONLY_INT_FIELDS 1
-#else
-#define ONLY_INT_FIELDS 0
-#endif 
-
 /* Provide a default for the HOST_BIT_BUCKET.
    This suffices for POSIX-like hosts.  */
 
@@ -522,12 +514,10 @@ extern void abort PARAMS ((void));
 #define HOST_BIT_BUCKET "/dev/null"
 #endif
 
-/* Enumerated bitfields are safe to use unless we've been explictly told
-   otherwise or if they are signed. */
- 
-#define USE_ENUM_BITFIELDS (__GNUC__ || (!ONLY_INT_FIELDS && ENUM_BITFIELDS_ARE_UNSIGNED))
+/* Be conservative and only use enum bitfields with GCC.
+   FIXME: provide a complete autoconf test for buggy enum bitfields.  */
 
-#if USE_ENUM_BITFIELDS
+#if (GCC_VERSION > 2000)
 #define ENUM_BITFIELD(TYPE) enum TYPE
 #else
 #define ENUM_BITFIELD(TYPE) unsigned int
===================================================================
Index: varasm.c
--- varasm.c	2001/03/02 21:41:35	1.163
+++ varasm.c	2001/03/12 04:25:28
@@ -2201,15 +2201,11 @@ decode_addr_const (exp, value)
   value->offset = offset;
 }
 
+enum kind { RTX_DOUBLE, RTX_INT };
 struct rtx_const
 {
-#ifdef ONLY_INT_FIELDS
-  unsigned int kind : 16;
-  unsigned int mode : 16;
-#else
-  enum kind kind : 16;
-  enum machine_mode mode : 16;
-#endif
+  ENUM_BITFIELD(kind) kind : 16;
+  ENUM_BITFIELD(machine_mode) mode : 16;
   union {
     union real_extract du;
     struct addr_const addr;
@@ -3344,7 +3340,6 @@ free_varasm_status (f)
   f->varasm = NULL;
 }
 
-enum kind { RTX_DOUBLE, RTX_INT };
 
 /* Express an rtx for a constant integer (perhaps symbolic)
    as the sum of a symbol or label plus an explicit integer.
===================================================================
Index: config/xm-interix.h
--- config/xm-interix.h	2001/03/08 00:02:09	1.6
+++ config/xm-interix.h	2001/03/12 04:25:28
@@ -21,12 +21,6 @@ along with GNU CC; see the file COPYING.
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-#ifndef ONLY_INT_FIELDS
-#ifndef __GNUC__
-#define ONLY_INT_FIELDS 1
-#endif
-#endif
-
 /* Our strategy for finding global constructors is a bit different, although
    not a lot. */
 #define DO_GLOBAL_CTORS_BODY						\
===================================================================
Index: config/alpha/xm-alpha.h
--- config/alpha/xm-alpha.h	2001/03/08 18:53:26	1.14
+++ config/alpha/xm-alpha.h	2001/03/12 04:25:28
@@ -22,10 +22,3 @@ Boston, MA 02111-1307, USA.  */
 
 /* This describes the machine the compiler is hosted on.  */
 #define	HOST_BITS_PER_LONG	64
-
-/* The host compiler has problems with enum bitfields since it makes
-   them signed so we can't fit all our codes in.  */
-
-#ifndef __GNUC__
-#define ONLY_INT_FIELDS
-#endif
===================================================================
Index: config/i370/xm-linux.h
--- config/i370/xm-linux.h	2001/03/06 14:33:02	1.7
+++ config/i370/xm-linux.h	2001/03/12 04:25:29
@@ -25,8 +25,3 @@ Boston, MA 02111-1307, USA.  */
 #define HOST_FLOAT_FORMAT	IEEE_FLOAT_FORMAT
 
 #define HOST_WORDS_BIG_ENDIAN    
-
-/* If not compiled with GNU C, use only int bitfields.  */
-#ifndef __GNUC__
-#define ONLY_INT_FIELDS
-#endif
===================================================================
Index: config/i370/xm-oe.h
--- config/i370/xm-oe.h	2001/03/08 00:02:08	1.9
+++ config/i370/xm-oe.h	2001/03/12 04:25:29
@@ -27,7 +27,5 @@ Boston, MA 02111-1307, USA.  */
 #define HOST_FLOAT_FORMAT	IBM_FLOAT_FORMAT
 #define HOST_EBCDIC		1
 
-#define ONLY_INT_FIELDS		1
-
 /* Arguments to use with `exit'.  */
 #define FATAL_EXIT_CODE		12
===================================================================
Index: config/i386/xm-beos.h
--- config/i386/xm-beos.h	2001/03/09 20:53:53	1.8
+++ config/i386/xm-beos.h	2001/03/12 04:25:29
@@ -25,8 +25,6 @@ Boston, MA 02111-1307, USA.  */
 #include <sys/wait.h>
 #endif
 
-#define	ONLY_INT_FIELDS
-
 /* use ANSI/SYSV style byte manipulation routines instead of BSD ones */
 
 #undef bcopy
===================================================================
Index: config/i386/xm-mingw32.h
--- config/i386/xm-mingw32.h	2001/03/08 00:02:08	1.11
+++ config/i386/xm-mingw32.h	2001/03/12 04:25:29
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING.
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA. */
 
-#ifndef ONLY_INT_FIELD
-#define ONLY_INT_FIELDS 1
-#endif
-
 #define environ _environ
 
 /* Even though we support "/", allow "\" since everybody tests both.  */
===================================================================
Index: config/mips/xm-mips.h
--- config/mips/xm-mips.h	2001/03/06 14:33:05	1.10
+++ config/mips/xm-mips.h	2001/03/12 04:25:29
@@ -29,10 +29,3 @@ Boston, MA 02111-1307, USA.  */
    VAX_FLOAT_FORMAT, and UNKNOWN_FLOAT_FORMAT.  */
 
 #define HOST_FLOAT_FORMAT IEEE_FLOAT_FORMAT
-
-#ifndef __GNUC__
-/* The MIPS compiler gets it wrong, and treats enumerated bitfields
-   as signed quantities, making it impossible to use an 8-bit enum
-   for compiling GNU C++.  */
-#define ONLY_INT_FIELDS 1
-#endif
===================================================================
Index: config/pa/xm-pa.h
--- config/pa/xm-pa.h	2001/03/06 14:33:07	1.9
+++ config/pa/xm-pa.h	2001/03/12 04:25:29
@@ -23,13 +23,3 @@ Boston, MA 02111-1307, USA.  */
 /* Doubles are stored in memory with the high order word first.  This
    matters when cross-compiling.  */
 #define HOST_WORDS_BIG_ENDIAN 1
-
-/* Place any machine-dependent include files here, in case we
-   are bootstrapping.  */
-
-/* 4.3BSD, OSF1 and Lites on the PA are all derived from NET2 or
-   later code from Berkeley.  */
-#define __BSD_NET2__
-
-/* HP's compiler has problems with enum bitfields.  */
-#define ONLY_INT_FIELDS
===================================================================
Index: config/pa/xm-pa64hpux.h
--- config/pa/xm-pa64hpux.h	2001/03/08 00:02:08	1.7
+++ config/pa/xm-pa64hpux.h	2001/03/12 04:25:29
@@ -24,6 +24,3 @@ Boston, MA 02111-1307, USA.  */
 /* Doubles are stored in memory with the high order word first.  This
    matters when cross-compiling.  */
 #define HOST_WORDS_BIG_ENDIAN 1
-
-/* HP's compiler has problems with enum bitfields.  */
-#define ONLY_INT_FIELDS
===================================================================
Index: config/pa/xm-pahpux.h
--- config/pa/xm-pahpux.h	Sun Mar 11 20:25:30 2001
+++ config/pa/xm-pahpux.h	Tue May  5 13:32:27 1998
@@ -1,28 +0,0 @@
-/* Configuration for GNU C-compiler for PA-RISC.
-   Copyright (C) 1988, 1995, 1997, 2001 Free Software Foundation, Inc.
-   Contributed by Michael Tiemann (tiemann@cygnus.com).
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-/* This describes the machine the compiler is hosted on.  */
-/* Doubles are stored in memory with the high order word first.  This
-   matters when cross-compiling.  */
-#define HOST_WORDS_BIG_ENDIAN 1
-
-/* HP's compiler has problems with enum bitfields.  */
-#define ONLY_INT_FIELDS
===================================================================
Index: config/pa/xm-papro.h
--- config/pa/xm-papro.h	Sun Mar 11 20:25:30 2001
+++ config/pa/xm-papro.h	Tue May  5 13:32:27 1998
@@ -1,28 +0,0 @@
-/* Configuration for GNU C-compiler for PA-RISC.
-   Copyright (C) 1994, 1995, 2001 Free Software Foundation, Inc.
-   Contributed by Michael Tiemann (tiemann@cygnus.com).
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-/* This describes the machine the compiler is hosted on.  */
-/* Doubles are stored in memory with the high order word first.  This
-   matters when cross-compiling.  */
-#define HOST_WORDS_BIG_ENDIAN 1
-
-/* HP's compiler has problems with enum bitfields.  */
-#define ONLY_INT_FIELDS
===================================================================
Index: config/rs6000/xm-beos.h
--- config/rs6000/xm-beos.h	2001/03/08 00:02:08	1.11
+++ config/rs6000/xm-beos.h	2001/03/12 04:25:29
@@ -24,9 +24,6 @@ Boston, MA 02111-1307, USA.  */
 /* This describes the machine the compiler is hosted on.  */
 #define	HOST_WORDS_BIG_ENDIAN
 
-/* Use only int bitfields.  */
-#define	ONLY_INT_FIELDS
-
 /* use ANSI/SYSV style byte manipulation routines instead of BSD ones */
 
 #undef bcopy
===================================================================
Index: config/rs6000/xm-rs6000.h
--- config/rs6000/xm-rs6000.h	2001/03/08 00:02:08	1.11
+++ config/rs6000/xm-rs6000.h	2001/03/12 04:25:29
@@ -22,11 +22,6 @@ Boston, MA 02111-1307, USA.  */
 /* This describes the machine the compiler is hosted on.  */
 #define	HOST_WORDS_BIG_ENDIAN
 
-/* If not compiled with GNU C, use only int bitfields.  */
-#ifndef __GNUC__
-#define	ONLY_INT_FIELDS
-#endif
-
 /* Big buffers improve performance.  */
 #define IO_BUFFER_SIZE (0x8000 - 4096)
 
===================================================================
Index: config/rs6000/xm-sysv4.h
--- config/rs6000/xm-sysv4.h	2001/03/12 03:29:53	1.15
+++ config/rs6000/xm-sysv4.h	2001/03/12 04:25:29
@@ -23,9 +23,3 @@ Boston, MA 02111-1307, USA.  */
 /* Doubles are stored in memory with the high order word first.  This
    matters when cross-compiling.  */
 #define HOST_WORDS_BIG_ENDIAN 1
-
-/* if not compiled with GNU C, use only int bitfields. */
-#ifndef __GNUC__
-#undef ONLY_INT_FIELDS
-#define ONLY_INT_FIELDS
-#endif
===================================================================
Index: config/sparc/xm-sysv4.h
--- config/sparc/xm-sysv4.h	Sun Mar 11 20:25:30 2001
+++ config/sparc/xm-sysv4.h	Tue May  5 13:32:27 1998
@@ -1,29 +0,0 @@
-/* Configuration for GNU C-compiler for Sun Sparc running System V.4.
-   Copyright (C) 1992, 1993, 1998, 2001 Free Software Foundation, Inc.
-   Contributed by Ron Guilmette (rfg@netcom.com).
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-/* This describes the machine the compiler is hosted on.  */
-/* Doubles are stored in memory with the high order word first.  This
-   matters when cross-compiling.  */
-#define HOST_WORDS_BIG_ENDIAN 1
-
-#ifndef __GNUC__
-#define ONLY_INT_FIELDS
-#endif
===================================================================
Index: config.gcc
--- config.gcc	2001/03/12 03:29:51	1.39
+++ config.gcc	2001/03/12 04:25:25
@@ -661,7 +661,6 @@ hppa*-*-openbsd*)
 	;;
 hppa1.1-*-rtems*)
 	tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
-	xm_file=pa/xm-papro.h
 	tmake_file="pa/t-pro t-rtems"
 	if test x$enable_threads = xyes; then
 	  thread_file='rtems'
@@ -670,7 +669,6 @@ hppa1.1-*-rtems*)
 hppa1.1-*-pro*)
 	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
 	tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
-	xm_file=pa/xm-papro.h
 	tmake_file=pa/t-pro
 	;;
 hppa1.1-*-osf*)
@@ -681,7 +679,6 @@ hppa1.1-*-osf*)
 hppa1.1-*-rtems*)
 	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
 	tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
-	xm_file=pa/xm-papro.h
 	tmake_file=pa/t-pro
 	;;
 hppa1.0-*-osf*)
@@ -700,7 +697,6 @@ hppa1.0-*-bsd*)
 hppa1.0-*-hpux7*)
 	tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -712,7 +708,6 @@ hppa1.0-*-hpux7*)
 hppa1.0-*-hpux8.0[0-2]*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -727,7 +722,6 @@ hppa1.1-*-hpux8.0[0-2]*)
 	target_cpu_default="MASK_PA_11"
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -742,7 +736,6 @@ hppa1.1-*-hpux8*)
 	target_cpu_default="MASK_PA_11"
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -754,7 +747,6 @@ hppa1.1-*-hpux8*)
 hppa1.0-*-hpux8*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -768,7 +760,6 @@ hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
 	float_format=i128
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	tmake_file=pa/t-pa
 	if test x$gas = xyes
@@ -790,7 +781,6 @@ hppa1.0-*-hpux10*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
 	float_format=i128
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	tmake_file=pa/t-pa
 	if test x$gas = xyes
@@ -837,7 +827,6 @@ hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
 	float_format=i128
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	tmake_file=pa/t-pa
 	if test x$gas = xyes
@@ -858,7 +847,6 @@ hppa1.0-*-hpux11*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
 	float_format=i128
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -878,7 +866,6 @@ hppa1.1-*-hpux* | hppa2*-*-hpux*)
 	target_cpu_default="MASK_PA_11"
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -890,7 +877,6 @@ hppa1.1-*-hpux* | hppa2*-*-hpux*)
 hppa1.0-*-hpux*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -903,7 +889,6 @@ hppa1.1-*-hiux* | hppa2*-*-hiux*)
 	target_cpu_default="MASK_PA_11"
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -915,7 +900,6 @@ hppa1.1-*-hiux* | hppa2*-*-hiux*)
 hppa1.0-*-hiux*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
 	xm_defines=USG
-	xm_file=pa/xm-pahpux.h
 	xmake_file=pa/x-pa-hpux
 	if test x$gas = xyes
 	then
@@ -3036,7 +3020,7 @@ sparcv9-*-solaris2*)
 	else
 		tm_file=sparc/sol2-sld-64.h
 	fi
-	xm_file="sparc/xm-sysv4.h sparc/xm-sp64.h"
+	xm_file="sparc/xm-sparc.h sparc/xm-sp64.h"
 	xm_defines="USG POSIX"
 	tmake_file="sparc/t-sol2 sparc/t-sol2-64"
 	if test x$gnu_ld = xyes; then
@@ -3062,7 +3046,6 @@ sparcv9-*-solaris2*)
 	fi
 	;;
 sparc-hal-solaris2*)
-        xm_file="sparc/xm-sysv4.h"
         xm_defines="USG POSIX"
         tm_file="sparc/sol2.h sparc/hal.h"
         tmake_file="sparc/t-halos sparc/t-sol2"
@@ -3090,7 +3073,6 @@ sparc-*-solaris2*)
 	else
 		tm_file=sparc/sol2-sld.h
 	fi
-	xm_file="sparc/xm-sysv4.h"
 	xm_defines="USG POSIX"
 	tmake_file=sparc/t-sol2
 	if test x$gnu_ld = xyes; then
@@ -3154,14 +3136,12 @@ sparc-*-sunos3*)
 	;;
 sparc-*-sysv4*)
 	tm_file=sparc/sysv4.h
-	xm_file="sparc/xm-sysv4.h"
 	xm_defines="USG POSIX"
 	tmake_file=t-svr4
 	xmake_file=sparc/x-sysv4
 	extra_parts="crtbegin.o crtend.o"
 	;;
 sparc-*-vxsim*)
-	xm_file="sparc/xm-sysv4.h"
 	xm_defines="USG POSIX"
 	tm_file=sparc/vxsim.h
 	tmake_file=sparc/t-vxsparc


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