summaryrefslogtreecommitdiff
path: root/lang/gcc/files
diff options
context:
space:
mode:
authorjmc <jmc@pkgsrc.org>2002-03-28 10:11:50 +0000
committerjmc <jmc@pkgsrc.org>2002-03-28 10:11:50 +0000
commit2ce70215a8fc4813f375a1f3d3e041aeab8fcd11 (patch)
tree5d91389ec4345308d97883c01c60c9f3c4f40ae6 /lang/gcc/files
parentae7898d267ead61384e72c6d84b79fe767d7db7c (diff)
downloadpkgsrc-2ce70215a8fc4813f375a1f3d3e041aeab8fcd11.tar.gz
Update patch set against a sync of source from gnusrc/dist/toolchain.
Not very many overall changes. Main ones include 1. Support for powerpc, arm32 and vax 2. Makefile.gcc can now be included by anything which depends on gcc versions. If the version installed isn't 2.95.3 it'll add itself as a BUILD_DEPENDS. (XXX: any of the makefile's in pkgsrc should be checked and change to use this) 3. Remove special PLIST.NetBSD-sparc as it's no longer needed 4. Change post-extract loop to pick up any arch files from FILESDIR without having to hardcode all the archs 5. Remove arch restrictions as this should work on any arch supported by the main source tree as of 03/28/02 6. Add PKGREVISION as this clearly isn't stock 2.95.3 (it doesn't change gcc --version so version checks won't care).
Diffstat (limited to 'lang/gcc/files')
-rw-r--r--lang/gcc/files/arm_netbsd-elf.h11
-rw-r--r--lang/gcc/files/i386_xm-uwin.h39
-rw-r--r--lang/gcc/files/m68k_netbsd-elf.h66
-rw-r--r--lang/gcc/files/mips_t-mipseb1
-rw-r--r--lang/gcc/files/rs6000_netbsd.h73
-rw-r--r--lang/gcc/files/sh_netbsd-elf-little.h50
-rw-r--r--lang/gcc/files/sparc_netbsd64.h182
-rw-r--r--lang/gcc/files/sparc_t-netbsd2
-rw-r--r--lang/gcc/files/vax_netbsd-elf.h10
-rw-r--r--lang/gcc/files/xm-target64.h6
10 files changed, 434 insertions, 6 deletions
diff --git a/lang/gcc/files/arm_netbsd-elf.h b/lang/gcc/files/arm_netbsd-elf.h
index 6a5cd45ad40..6d66c9716d3 100644
--- a/lang/gcc/files/arm_netbsd-elf.h
+++ b/lang/gcc/files/arm_netbsd-elf.h
@@ -45,6 +45,13 @@ Boston, MA 02111-1307, USA. */
/* This gets redefined in config/netbsd.h. */
#undef TARGET_MEM_FUNCTIONS
+/* How large values are returned */
+/* We override the default here because the default is to follow the
+ APCS rules and we want to follow the (simpler) ATPCS rules. */
+#undef RETURN_IN_MEMORY
+#define RETURN_IN_MEMORY(TYPE) \
+ (AGGREGATE_TYPE_P (TYPE) && int_size_in_bytes (TYPE) > 4)
+
#define NETBSD_ELF
#include <netbsd.h>
@@ -64,7 +71,7 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "\
--Dunix -Darm -D__arm__ -D__NetBSD__ -D__ELF__ \
+-D__arm__ -D__NetBSD__ -D__ELF__ \
-Asystem(unix) -Asystem(NetBSD) -Acpu(arm) -Amachine(arm)"
/* Define _POSIX_SOURCE if necessary. */
@@ -147,3 +154,5 @@ Boston, MA 02111-1307, USA. */
*/
#undef STRUCTURE_SIZE_BOUNDARY
#define STRUCTURE_SIZE_BOUNDARY 8
+
+#define DEFAULT_SHORT_ENUMS 1
diff --git a/lang/gcc/files/i386_xm-uwin.h b/lang/gcc/files/i386_xm-uwin.h
new file mode 100644
index 00000000000..2e1ecde0fa7
--- /dev/null
+++ b/lang/gcc/files/i386_xm-uwin.h
@@ -0,0 +1,39 @@
+/* Configuration for GNU C-compiler for hosting on Windows32.
+ using GNU tools and the Windows32 API Library.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+ Contributed by Mumit Khan <khan@xraylith.wisc.edu>.
+
+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. */
+
+#ifndef ONLY_INT_FIELD
+#define ONLY_INT_FIELDS 1
+#endif
+
+#ifndef USE_PROTOTYPES
+#define USE_PROTOTYPES 1
+#endif
+
+/* U/WIN system calls only support '/' */
+#undef DIR_SEPARATOR
+#define DIR_SEPARATOR '/'
+#undef EXECUTABLE_SUFFIX
+#define EXECUTABLE_SUFFIX ".exe"
+
+#undef PATH_SEPARATOR
+#define PATH_SEPARATOR ':'
+
diff --git a/lang/gcc/files/m68k_netbsd-elf.h b/lang/gcc/files/m68k_netbsd-elf.h
index 3e3634a4d23..f815bc140b9 100644
--- a/lang/gcc/files/m68k_netbsd-elf.h
+++ b/lang/gcc/files/m68k_netbsd-elf.h
@@ -32,17 +32,75 @@ Boston, MA 02111-1307, USA. */
#define NETBSD_ELF
#include <netbsd.h>
-/* 68020 with 68881 */
-#define TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68020)
+/* Default target comes from config.gcc */
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT TARGET_CPU_DEFAULT
+
+
+/* Don't try using XFmode on the 68010. */
+#if TARGET_DEFAULT == 0
+#undef LONG_DOUBLE_TYPE_SIZE
+#define LONG_DOUBLE_TYPE_SIZE 64
+
+/* Use software floating point emulator for REAL_ARITHMETIC and
+ decimal <-> binary conversion. */
+#define REAL_ARITHMETIC
+#endif
+
+#ifdef __mc68010__
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64
+#endif
+
#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 "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__} %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC \
+ "%{posix:-D_POSIX_SOURCE} %(cpp_cpu_spec) %(cpp_fpu_spec)"
+
#undef ASM_SPEC
-#define ASM_SPEC " %| %{m68030} %{m68040} %{m68060} %{fpic:-k} %{fPIC:-k -K}"
+#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. */
diff --git a/lang/gcc/files/mips_t-mipseb b/lang/gcc/files/mips_t-mipseb
new file mode 100644
index 00000000000..9379a12f6a8
--- /dev/null
+++ b/lang/gcc/files/mips_t-mipseb
@@ -0,0 +1 @@
+T_CFLAGS +=-DTARGET_BIG_ENDIAN_DEFAULT
diff --git a/lang/gcc/files/rs6000_netbsd.h b/lang/gcc/files/rs6000_netbsd.h
new file mode 100644
index 00000000000..80f52ae9032
--- /dev/null
+++ b/lang/gcc/files/rs6000_netbsd.h
@@ -0,0 +1,73 @@
+/* Start with SVR4 defaults. */
+#include <rs6000/sysv4.h>
+
+/* Get generic NetBSD definitions. */
+
+#define NETBSD_ELF
+#include <netbsd.h>
+
+#undef SDB_DEBUGGING_INFO
+#define SDB_DEBUGGING_INFO
+#undef DBX_DEBUGGING_INFO
+#define DBX_DEBUGGING_INFO
+
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
+/* Names to predefine in the preprocessor for this target machine. */
+#undef CPP_PREDEFINES
+#define CPP_PREDEFINES "\
+-D__powerpc__ -D__NetBSD__ -D__ELF__ \
+-Asystem(unix) -Asystem(NetBSD) -Acpu(powerpc) -Amachine(powerpc)"
+
+/* Make gcc agree with <machine/ansi.h> */
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
+
+/* Don't default to pcc-struct-return, because gcc is the only compiler, and
+ we want to retain compatibility with older gcc versions. */
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+/* XXX Duplicated from sysv4.h --thorpej@netbsd.org
+ Pass -mppc to the assembler, since that is what powerpc.h currently
+ implies */
+#undef ASM_SPEC
+#define ASM_SPEC \
+ "-u \
+%{mcpu=601: -m601} %{!mcpu=601: -mppc} \
+%{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
+%{mrelocatable} \
+%{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian}"
+
+/* The `multiple' instructions may not be universally implemented.
+ We avoid their use here. */
+#undef CC1_SPEC
+#define CC1_SPEC "-mno-multiple"
+
+/* Provide a LINK_SPEC approriate for NetBSD. */
+#undef LINK_SPEC
+#define LINK_SPEC " \
+ %{O*:-O3} %{!O*:-O1} \
+ %{assert*} %{R*} \
+ %{shared:-shared} \
+ %{!shared: \
+ -dc -dp \
+ %{!nostdlib:%{!r*:%{!e*:-e _start}}} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
+ %{static:-static}}"
+
+/* XXX Sort of a mix of ../netbsd.h and sysv4.h --thorpej@netbsd.org
+ Provide a CPP_SPEC appropriate for NetBSD. Currently we just deal with
+ the GCC option `-posix' and the calling convention definition. */
+
+#undef CPP_SPEC
+#define CPP_SPEC "\
+%{posix:-D_POSIX_SOURCE} \
+%{msoft-float:-D_SOFT_FLOAT} \
+%{mcall-sysv: -D_CALL_SYSV} %{mcall-aix: -D_CALL_AIX} %{!mcall-sysv: %{!mcall-aix: -D_CALL_SYSV}}"
diff --git a/lang/gcc/files/sh_netbsd-elf-little.h b/lang/gcc/files/sh_netbsd-elf-little.h
new file mode 100644
index 00000000000..2a4c8ceafa8
--- /dev/null
+++ b/lang/gcc/files/sh_netbsd-elf-little.h
@@ -0,0 +1,50 @@
+/* Definitions of target machine for gcc for Hitachi Super-H using ELF.
+ Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ Contributed by Ian Lance Taylor <ian@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. */
+
+#undef CPP_SPEC
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} \
+%{!mb:-D__LITTLE_ENDIAN__} \
+%{m1:-D__sh1__} \
+%{m2:-D__sh2__} \
+%{m3:-D__sh3__} \
+%{m3e:-D__SH3E__} \
+%{m4-single-only:-D__SH4_SINGLE_ONLY__} \
+%{m4-single:-D__SH4_SINGLE__} \
+%{m4:-D__SH4__} \
+%{!m1:%{!m2:%{!m3:%{!m3e:%{!m4:%{!m4-single:%{!m4-single-only:-D__sh1__}}}}}}} \
+%{mhitachi:-D__HITACHI__}"
+
+/* Pass -ml and -mrelax to the assembler and linker. */
+#undef ASM_SPEC
+#define ASM_SPEC "%{!mb:-little} %{mrelax:-relax}"
+
+#undef LINK_SPEC
+#define LINK_SPEC \
+"%{mb:-m elf32shnbsd} %{mrelax:-relax} \
+ %{assert*} \
+ %{shared:-shared} \
+ %{!shared: \
+ -dc -dp \
+ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
+ %{static:-static}}"
diff --git a/lang/gcc/files/sparc_netbsd64.h b/lang/gcc/files/sparc_netbsd64.h
new file mode 100644
index 00000000000..2f9a984befc
--- /dev/null
+++ b/lang/gcc/files/sparc_netbsd64.h
@@ -0,0 +1,182 @@
+/* NetBSD/sparc64 ELF configuration */
+
+/*
+ * Pull in generic SPARC64 ELF configuration, and then clean up
+ * afterwards
+ */
+
+/* Let us output 32 bit code as well */
+#define SPARC_BI_ARCH
+
+/* Name the target CPU. This must be before <sparc/sparc.h>. */
+#ifndef TARGET_CPU_DEFAULT
+#define TARGET_CPU_DEFAULT TARGET_CPU_ultrasparc
+#endif
+
+#include <sparc/sp64-elf.h>
+
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT \
+(MASK_V9 + MASK_PTR64 + MASK_64BIT + /* MASK_HARD_QUAD */ \
+ + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU + MASK_STACK_BIAS)
+
+#undef SPARC_DEFAULT_CMODEL
+#define SPARC_DEFAULT_CMODEL CM_MEDANY
+
+#undef INIT_SUBTARGET_OPTABS
+#define INIT_SUBTARGET_OPTABS
+
+#include <sparc/netbsd-elf-common.h>
+
+#undef CPP_SUBTARGET_SPEC
+#define CPP_SUBTARGET_SPEC "-D__sparc64__"
+
+#undef LINK_SPEC64
+#define LINK_SPEC64 \
+ "-m elf64_sparc \
+ %{assert*} %{R*} \
+ %{shared:-shared} \
+ %{!shared: \
+ -dy -dc -dp \
+ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
+ %{static:-static}}"
+
+#undef LINK_SPEC
+#define LINK_SPEC LINK_SPEC64
+
+#ifdef SPARC_BI_ARCH
+
+#undef STARTFILE_SPEC64
+#define STARTFILE_SPEC64 \
+ "%{!shared: \
+ %{pg:gcrt0%O%s} \
+ %{!pg: \
+ %{p:gcrt0%O%s} \
+ %{!p:crt0%O%s}}} \
+ %{!shared:crtbegin%O%s} %{shared:crtbeginS%O%s}"
+
+#undef STARTFILE_SPEC32
+#define STARTFILE_SPEC32 \
+ "%{!shared: \
+ %{pg:/usr/lib/32/gcrt0%O%s} \
+ %{!pg: \
+ %{p:/usr/lib/32/gcrt0%O%s} \
+ %{!p:/usr/lib/32/crt0%O%s}}} \
+ %{!shared:/usr/lib/32/crtbegin%O%s} %{shared:/usr/lib/32/crtbeginS%O%s}"
+
+#undef STARTFILE_SPEC
+#if DEFAULT_ARCH32_P
+#define STARTFILE_SPEC "\
+%{m32:" STARTFILE_SPEC32 "} \
+%{m64:" STARTFILE_SPEC64 "} \
+%{!m32:%{!m64:" STARTFILE_SPEC32 "}}"
+#else
+#define STARTFILE_SPEC "\
+%{m32:" STARTFILE_SPEC32 "} \
+%{m64:" STARTFILE_SPEC64 "} \
+%{!m32:%{!m64:" STARTFILE_SPEC64 "}}"
+#endif
+
+#undef ENDFILE_SPEC64
+#define ENDFILE_SPEC64 \
+ "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
+
+#undef ENDFILE_SPEC32
+#define ENDFILE_SPEC32 \
+ "%{!shared:/usr/lib/32/crtend%O%s} %{shared:/usr/lib/32/crtendS%O%s}"
+
+#undef ENDFILE_SPEC
+#if DEFAULT_ARCH32_P
+#define ENDFILE_SPEC "\
+%{m32:" ENDFILE_SPEC32 "} \
+%{m64:" ENDFILE_SPEC64 "} \
+%{!m32:%{!m64:" ENDFILE_SPEC32 "}}"
+#else
+#define ENDFILE_SPEC "\
+%{m32:" ENDFILE_SPEC32 "} \
+%{m64:" ENDFILE_SPEC64 "} \
+%{!m32:%{!m64:" ENDFILE_SPEC64 "}}"
+#endif
+
+#undef SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS \
+ { "link_arch32", LINK_ARCH32_SPEC }, \
+ { "link_arch64", LINK_ARCH64_SPEC }, \
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
+#undef LINK_ARCH32_SPEC
+#define LINK_ARCH32_SPEC \
+ "-m elf32_sparc \
+ -Y P,/usr/lib/32 \
+ %{assert*} %{R*} \
+ %{shared:-shared} \
+ %{!shared: \
+ -dy -dc -dp \
+ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
+ %{static:-static}}"
+
+#undef LINK_ARCH64_SPEC
+#define LINK_ARCH64_SPEC LINK_SPEC64
+
+#define LINK_ARCH_SPEC "\
+%{m32:%(link_arch32)} \
+%{m64:%(link_arch64)} \
+%{!m32:%{!m64:%(link_arch_default)}} \
+"
+
+#define LINK_ARCH_DEFAULT_SPEC \
+(DEFAULT_ARCH32_P ? LINK_ARCH32_SPEC : LINK_ARCH64_SPEC)
+
+#undef LINK_SPEC
+#define LINK_SPEC "\
+%(link_arch) \
+%{mlittle-endian:-EL} \
+"
+
+#undef CC1_SPEC
+#if DEFAULT_ARCH32_P
+#define CC1_SPEC "\
+%{sun4:} %{target:} \
+%{mcypress:-mcpu=cypress} \
+%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
+%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
+%{m64:-mptr64 -mcpu=ultrasparc -mstack-bias %{p*:-mcmodel=medlow}
+%{p:-mcmodel=medlow}} \
+"
+#else
+#define CC1_SPEC "\
+%{sun4:} %{target:} \
+%{mcypress:-mcpu=cypress} \
+%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
+%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
+%{m32:-mptr32 -mcpu=cypress -mno-stack-bias} \
+%{!m32:%{p*:-mcmodel=medlow}} \
+"
+#endif
+
+#if DEFAULT_ARCH32_P
+#define MULTILIB_DEFAULTS { "m32" }
+#else
+#define MULTILIB_DEFAULTS { "m64" }
+#endif
+
+#undef CPP_SUBTARGET_SPEC
+#define CPP_SUBTARGET_SPEC \
+(DEFAULT_ARCH32_P ? "\
+%{m64:-D__sparc64__}%{!m64:-D__sparc} \
+" : "\
+%{!m32:-D__sparc64__}%{m32:-D__sparc} \
+")
+
+#endif /* SPARC_BI_ARCH */
+
+/* Name the port. */
+#undef TARGET_NAME
+#define TARGET_NAME "sparc64-netbsd"
diff --git a/lang/gcc/files/sparc_t-netbsd b/lang/gcc/files/sparc_t-netbsd
new file mode 100644
index 00000000000..27da77cbe79
--- /dev/null
+++ b/lang/gcc/files/sparc_t-netbsd
@@ -0,0 +1,2 @@
+# The NetBSD libc has all the needed libgcc1 stubs.
+LIBGCC1_TEST=
diff --git a/lang/gcc/files/vax_netbsd-elf.h b/lang/gcc/files/vax_netbsd-elf.h
index d9a25399e80..f996e9c5ecb 100644
--- a/lang/gcc/files/vax_netbsd-elf.h
+++ b/lang/gcc/files/vax_netbsd-elf.h
@@ -27,6 +27,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define NETBSD_ELF
#include "vax/netbsd.h"
+#undef REGISTER_PREFIX
+#define REGISTER_PREFIX "%"
+
+/* Redefine this with register prefixes. */
+#undef VAX_ISTREAM_SYNC
+#define VAX_ISTREAM_SYNC "movpsl -(%sp)\n\tpushal 1(%pc)\n\trei"
+
#undef SIZE_TYPE
#define SIZE_TYPE "long unsigned int"
@@ -42,6 +49,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define TARGET_MEM_FUNCTIONS /* include mem* calls */
+#undef PCC_STATIC_STRUCT_RETURN /* let's be reentrant */
+
#if 1
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
@@ -61,7 +70,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Profiling routines */
-/* Redefine this to use %eax instead of %edx. */
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \
fprintf (FILE, "\tmovab .LP%d,r0\n\tjsb __mcount+2\n", (LABELNO))
diff --git a/lang/gcc/files/xm-target64.h b/lang/gcc/files/xm-target64.h
new file mode 100644
index 00000000000..47a0ace4b19
--- /dev/null
+++ b/lang/gcc/files/xm-target64.h
@@ -0,0 +1,6 @@
+/* Hack to extend HOST_WIDE_INT on 64-bit target cross compilers. */
+
+#ifdef __GNUC__
+#define HOST_WIDE_INT long long
+#define HOST_BITS_PER_WIDE_INT 64
+#endif