This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
x-files must die: ONLY_INT_FIELDS
- To: gcc-patches at gcc dot gnu dot org
- Subject: x-files must die: ONLY_INT_FIELDS
- From: "Zack Weinberg" <zackw at stanford dot edu>
- Date: Sun, 11 Mar 2001 20:39:38 -0800
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