summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>1999-05-26 15:29:26 +0000
committerMarc Espie <espie@cvs.openbsd.org>1999-05-26 15:29:26 +0000
commit84118d1e9d5095dd35be9f8c001fa2e02659ca2e (patch)
tree15ed74572ddef988587ca523ee7aa17034b384c3
parent1f8d3f5d5d2edbacba705858e1fe5af530389b9c (diff)
Configuration fragments for arches that have not been committed to egcs
main repository yet (rs6000 to come)
-rw-r--r--gnu/egcs/gcc/config/m88k/openbsd.h79
-rw-r--r--gnu/egcs/gcc/config/m88k/xm-openbsd.h26
-rw-r--r--gnu/egcs/gcc/config/mips/openbsd-be.h22
-rw-r--r--gnu/egcs/gcc/config/mips/openbsd.h120
-rw-r--r--gnu/egcs/gcc/config/mips/xm-openbsd.h25
-rw-r--r--gnu/egcs/gcc/config/ns32k/openbsd.h96
-rw-r--r--gnu/egcs/gcc/config/ns32k/xm-openbsd.h27
-rw-r--r--gnu/egcs/gcc/config/pa/openbsd.h83
-rw-r--r--gnu/egcs/gcc/config/pa/t-openbsd24
-rw-r--r--gnu/egcs/gcc/config/pa/xm-openbsd.h45
-rw-r--r--gnu/egcs/gcc/config/vax/openbsd.h40
-rw-r--r--gnu/egcs/gcc/config/vax/t-openbsd3
-rw-r--r--gnu/egcs/gcc/config/vax/xm-openbsd.h22
13 files changed, 612 insertions, 0 deletions
diff --git a/gnu/egcs/gcc/config/m88k/openbsd.h b/gnu/egcs/gcc/config/m88k/openbsd.h
new file mode 100644
index 00000000000..c8ad0a7e95f
--- /dev/null
+++ b/gnu/egcs/gcc/config/m88k/openbsd.h
@@ -0,0 +1,79 @@
+/* Configuration file for an m88k OpenBSD target.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+/* a.out with DBX. */
+#define DBX_DEBUGGING_INFO
+#define DEFAULT_GDB_EXTENSIONS 0
+
+#include <aoutos.h>
+#include <m88k/m88k.h>
+#include <openbsd.h>
+
+/* Identify the compiler. */
+#undef VERSION_INFO1
+#define VERSION_INFO1 "Motorola m88k, "
+
+/* Macros to be automatically defined. */
+#define CPP_PREDEFINES \
+ "-D__m88k__ -D__unix__ -D__OpenBSD__ -D__CLASSIFY_TYPE__=2 -Asystem(unix) -Asystem(OpenBSD) -Acpu(m88k) -Amachine(m88k)"
+
+/* If -m88000 is in effect, add -Dmc88000; similarly for -m88100 and -m88110.
+ However, reproduce the effect of -Dmc88100 previously in CPP_PREDEFINES.
+ Here, the CPU_DEFAULT is assumed to be -m88100. */
+#undef CPP_SPEC
+#define CPP_SPEC "%{m88000:-D__mc88000__} \
+ %{!m88000:%{m88100:%{m88110:-D__mc88000__}}} \
+ %{!m88000:%{!m88100:%{m88110:-D__mc88110__}}} \
+ %{!m88000:%{!m88110:%{!ansi:%{traditional:-Dmc88100}} \
+ -D__mc88100__ -D__mc88100}} %{posix:-D_POSIX_SOURCE} \
+ %{pthread:-D_POSIX_THREADS}"
+
+/* For the Omron Luna/88k, a float function returns a double in traditional
+ mode (and a float in ansi mode). */
+#undef TRADITIONAL_RETURN_FLOAT
+
+/* Layout of source language data types. */
+
+/* This must agree with <machine/ansi.h> */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
+
+/* Every structure or union's size must be a multiple of 2 bytes. */
+#undef STRUCTURE_SIZE_BOUNDARY
+#define STRUCTURE_SIZE_BOUNDARY 16
+
+/* Stack & calling: aggregate returns. */
+
+/* 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
+
+#undef SET_ASM_OP
+#define SET_ASM_OP ".def"
+
diff --git a/gnu/egcs/gcc/config/m88k/xm-openbsd.h b/gnu/egcs/gcc/config/m88k/xm-openbsd.h
new file mode 100644
index 00000000000..49cb60e6004
--- /dev/null
+++ b/gnu/egcs/gcc/config/m88k/xm-openbsd.h
@@ -0,0 +1,26 @@
+/* Configuration file for an host running m88k OpenBSD.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <xm-openbsd.h>
+#include <m88k/xm-m88k.h>
+
+/* Remove base m88k idiosyncrasies. */
+#undef USG
+#undef NO_SYS_SIGLIST
diff --git a/gnu/egcs/gcc/config/mips/openbsd-be.h b/gnu/egcs/gcc/config/mips/openbsd-be.h
new file mode 100644
index 00000000000..abea02d682c
--- /dev/null
+++ b/gnu/egcs/gcc/config/mips/openbsd-be.h
@@ -0,0 +1,22 @@
+/* Configuration file for a mips big endian OpenBSD target.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN
+#include <mips/openbsd.h>
diff --git a/gnu/egcs/gcc/config/mips/openbsd.h b/gnu/egcs/gcc/config/mips/openbsd.h
new file mode 100644
index 00000000000..0d559a72dad
--- /dev/null
+++ b/gnu/egcs/gcc/config/mips/openbsd.h
@@ -0,0 +1,120 @@
+/* Configuration for a Mips ABI32 OpenBSD target.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+/* Default mips is little endian, unless otherwise specified. */
+
+/* Definitions needed for OpenBSD, avoid picking mips 'defaults'. */
+
+/* GAS must know this. */
+#define SUBTARGET_ASM_SPEC "%{fPIC:-KPIC} %|"
+
+/* CPP specific OpenBSD specs. */
+#define SUBTARGET_CPP_SPEC OBSD_CPP_SPEC
+
+/* Needed for ELF (inspired by netbsd-elf). */
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+#define LOCAL_LABEL_PREFIX "."
+
+/* The profiling lib spec here is not really correct but we leave
+ it as it is until we have some kind of profiling working. */
+#define LIB_SPEC OBSD_LIB_SPEC
+
+
+#include <mips/mips.h>
+
+/* Get generic OpenBSD definitions. */
+#define OBSD_HAS_DECLARE_FUNCTION_NAME
+#define OBSD_HAS_DECLARE_OBJECT
+#define OBSD_HAS_CORRECT_SPECS
+#include <openbsd.h>
+
+
+/* Run-time target specifications. */
+#if TARGET_ENDIAN_DEFAULT != 0
+#define CPP_PREDEFINES "-D__SYSTYPE_BSD__ -D__NO_LEADING_UNDERSCORES__ \
+-D__GP_SUPPORT__ -D__MIPSEB__ -D__unix__ -D__OpenBSD__ -D__mips__ \
+-Asystem(unix) -Asystem(OpenBSD) -Acpu(mips) -Amachine(mips) -Aendian(big)"
+#else
+#define CPP_PREDEFINES "-D__SYSTYPE_BSD__ -D__NO_LEADING_UNDERSCORES__ \
+-D__GP_SUPPORT__ -D__MIPSEL__ -D__unix__ -D__OpenBSD__ -D__mips__ \
+-Asystem(unix) -Asystem(OpenBSD) -Acpu(mips) -Amachine(mips) -Aendian(little)"
+#endif
+
+/* Layout of source language data types. */
+
+/* This must agree with <machine/ansi.h> */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
+
+/* Controlling the compilation driver. */
+
+/* LINK_SPEC appropriate for OpenBSD. Support for GCC options
+ -static, -assert, and -nostdlib. Dynamic loader control.
+ XXX Why don't we offer -R support ? */
+#undef LINK_SPEC
+#define LINK_SPEC \
+ "%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
+ %{bestGnum} %{shared} %{non_shared} \
+ %{call_shared} %{no_archive} %{exact_version} \
+ %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
+ %{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
+ %{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
+
+/* -G is incompatible with -KPIC which is the default, so only allow objects
+ in the small data section if the user explicitly asks for it. */
+#undef MIPS_DEFAULT_GVALUE
+#define MIPS_DEFAULT_GVALUE 0
+
+
+/* Since gas and gld are standard on OpenBSD, we don't need these. */
+#undef ASM_FINAL_SPEC
+#undef STARTFILE_SPEC
+
+/* A C statement to output something to the assembler file to switch to
+ section NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL
+ or NULL_TREE. Some target formats do not support arbitrary sections.
+ Do not define this macro in such cases. mips.h doesn't define this,
+ do it here. */
+#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \
+do { \
+ extern FILE *asm_out_text_file; \
+ if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
+ fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
+ else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
+ fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME)); \
+ else \
+ fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
+} while (0)
+
+/* collect2 support (Macros for initialization). */
+
+/* Mips default configuration is COFF-only, and confuses collect2. */
+#undef OBJECT_FORMAT_COFF
+#undef EXTENDED_COFF
diff --git a/gnu/egcs/gcc/config/mips/xm-openbsd.h b/gnu/egcs/gcc/config/mips/xm-openbsd.h
new file mode 100644
index 00000000000..a36204bca57
--- /dev/null
+++ b/gnu/egcs/gcc/config/mips/xm-openbsd.h
@@ -0,0 +1,25 @@
+/* Configuration file for an host running mips OpenBSD.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <xm-openbsd.h>
+#include <mips/xm-mips.h>
+
+/* We're NOT systemV. */
+#undef USG
diff --git a/gnu/egcs/gcc/config/ns32k/openbsd.h b/gnu/egcs/gcc/config/ns32k/openbsd.h
new file mode 100644
index 00000000000..50369f5e37e
--- /dev/null
+++ b/gnu/egcs/gcc/config/ns32k/openbsd.h
@@ -0,0 +1,96 @@
+/* Configuration file for an ns32k OpenBSD target.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <ns32k/ns32k.h>
+
+/* XXX broken: ns32k should have symbolic defines. */
+/* Compile for the floating point unit & 32532 by default.
+ Don't assume SB is zero.
+ Don't use bitfield instructions. */
+
+#define TARGET_DEFAULT (1 + 24 + 32 + 64)
+
+/* 32-bit alignment for efficiency. */
+#undef POINTER_BOUNDARY
+#define POINTER_BOUNDARY 32
+
+/* 32-bit alignment for efficiency. */
+#undef FUNCTION_BOUNDARY
+#define FUNCTION_BOUNDARY 32
+
+/* 32532 spec says it can handle any alignment. Rumor from tm-ns32k.h
+ tells this might not be actually true (but it's for 32032, perhaps
+ National has fixed the bug for 32532). You might have to change this
+ if the bug still exists. */
+#undef STRICT_ALIGNMENT
+#define STRICT_ALIGNMENT 0
+
+/* Use pc relative addressing whenever possible,
+ it's more efficient than absolute (ns32k.c)
+ You have to fix a bug in gas 1.38.1 to make this work with gas,
+ patch available from jkp@cs.hut.fi.
+ (OpenBSD's gas version has this patch already applied) */
+#define PC_RELATIVE
+
+/* Operand of bsr or jsr should be just the address. */
+#define CALL_MEMREF_IMPLICIT
+
+/* movd insns may have floating point constant operands. */
+#define MOVD_FLOAT_OK
+
+/* Get generic OpenBSD definitions. */
+#include <openbsd.h>
+
+/* Run-time target specifications. */
+#define CPP_PREDEFINES "-D__unix__ -D__ns32k__ -D__ns32000__ -D__ns32532__ -D__OpenBSD__ -D__pc532__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(ns32k) -Amachine(ns32k)"
+
+/* Layout of source language data types. */
+
+/* This must agree with <machine/ansi.h> */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
+
+/* Specific options for DBX Output. */
+
+/* This is BSD, so it wants DBX format. */
+#define DBX_DEBUGGING_INFO
+
+/* Do not break .stabs pseudos into continuations. */
+#define DBX_CONTIN_LENGTH 0
+
+/* This is the char to use for continuation (in case we need to turn
+ continuation back on). */
+#define DBX_CONTIN_CHAR '?'
+
+/* Stack & calling: aggregate returns. */
+
+/* Don't default to pcc-struct-return, because gcc is the only compiler, and
+ we want to retain compatibility with older gcc versions. */
+#undef PCC_STATIC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 0
diff --git a/gnu/egcs/gcc/config/ns32k/xm-openbsd.h b/gnu/egcs/gcc/config/ns32k/xm-openbsd.h
new file mode 100644
index 00000000000..348cf41838f
--- /dev/null
+++ b/gnu/egcs/gcc/config/ns32k/xm-openbsd.h
@@ -0,0 +1,27 @@
+/* Configuration file for an host running ns32k OpenBSD.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <xm-openbsd.h>
+#include <ns32k/xm-ns32k.h>
+
+/* Remove ns32k idiosyncrasies. */
+#undef memcpy
+#undef memset
+#undef memcmp
diff --git a/gnu/egcs/gcc/config/pa/openbsd.h b/gnu/egcs/gcc/config/pa/openbsd.h
new file mode 100644
index 00000000000..cf325dcd054
--- /dev/null
+++ b/gnu/egcs/gcc/config/pa/openbsd.h
@@ -0,0 +1,83 @@
+/* Configuration file for an hppa risc OpenBSD target.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <pa/pa.h>
+#define OBSD_HAS_DECLARE_FUNCTION_NAME
+#include <openbsd.h>
+
+/* Run-time target specifications. */
+#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) -Asystem(OpenBSD) -Amachine(hppa) -D__OpenBSD__ -D__hppa__ -D__hppa"
+
+#undef OVERRIDE_OPTIONS
+#define OVERRIDE_OPTIONS \
+{ \
+ override_options (); \
+ if (! flag_pic) \
+ target_flags |= MASK_PORTABLE_RUNTIME | MASK_FAST_INDIRECT_CALLS;\
+}
+
+/* XXX Why doesn't PA support -R like everyone ??? */
+#undef LINK_SPEC
+#define LINK_SPEC \
+ "%{EB} %{EL} %{shared} %{non_shared} \
+ %{call_shared} %{no_archive} %{exact_version} \
+ %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
+ %{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
+ %{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
+
+/* Layout of source language data types. */
+
+/* This must agree with <machine/ansi.h> */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
+
+/* Output at beginning of assembler file. */
+/* This is slightly changed from main pa.h to only output dyncall
+ when compiling PIC. */
+#undef ASM_FILE_START
+#define ASM_FILE_START(FILE) \
+do { fputs ("\t.SPACE $PRIVATE$\n\
+\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24\n\
+\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,ZERO,SORT=80\n\
+\t.SPACE $TEXT$\n\
+\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=0x2c\n\
+\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY\n\
+\t.IMPORT $global$,DATA\n", FILE);\
+ if (flag_pic || !TARGET_FAST_INDIRECT_CALLS)\
+ fputs ("\t.IMPORT $$dyncall, MILLICODE\n", FILE);\
+ if (profile_flag)\
+ fputs ("\t.IMPORT _mcount, CODE\n", FILE);\
+ if (write_symbols != NO_DEBUG) \
+ output_file_directive ((FILE), main_input_filename); \
+ } while (0)
+
+/* Remove hpux specific pa defines. */
+#undef LDD_SUFFIX
+#undef PARSE_LDD_OUTPUT
diff --git a/gnu/egcs/gcc/config/pa/t-openbsd b/gnu/egcs/gcc/config/pa/t-openbsd
new file mode 100644
index 00000000000..35fcd2ad071
--- /dev/null
+++ b/gnu/egcs/gcc/config/pa/t-openbsd
@@ -0,0 +1,24 @@
+LIBGCC1=libgcc1-asm.a
+CROSS_LIBGCC1=libgcc1-asm.a
+ADA_CFLAGS=-mdisable-indexing
+LIB1ASMSRC=pa/lib1funcs.asm
+LIB1ASMFUNCS=_divI _divU _remI _remU _multiply _dyncall
+LIB2FUNCS_EXTRA=lib2funcs.asm ee.asm ee_fp.asm
+
+lib1funcs.asm: $(srcdir)/config/pa/lib1funcs.asm
+ rm -f lib1funcs.asm
+ cp $(srcdir)/config/pa/lib1funcs.asm .
+
+lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
+ rm -f lib2funcs.asm
+ cp $(srcdir)/config/pa/lib2funcs.asm .
+
+ee.asm: $(srcdir)/config/pa/ee.asm
+ rm -f ee.asm
+ cp $(srcdir)/config/pa/ee.asm .
+
+ee_fp.asm: $(srcdir)/config/pa/ee_fp.asm
+ rm -f ee_fp.asm
+ cp $(srcdir)/config/pa/ee_fp.asm .
+
+TARGET_LIBGCC2_CFLAGS = -fPIC
diff --git a/gnu/egcs/gcc/config/pa/xm-openbsd.h b/gnu/egcs/gcc/config/pa/xm-openbsd.h
new file mode 100644
index 00000000000..6dc3c8770c4
--- /dev/null
+++ b/gnu/egcs/gcc/config/pa/xm-openbsd.h
@@ -0,0 +1,45 @@
+/* Configuration file for an host running pa OpenBSD.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <xm-openbsd.h>
+
+/* It is simpler to grab correct defines directly... */
+/* #defines that need visibility everywhere. */
+#define FALSE 0
+#define TRUE 1
+
+/* This describes the machine the compiler is hosted on. */
+#define HOST_BITS_PER_CHAR 8
+#define HOST_BITS_PER_SHORT 16
+#define HOST_BITS_PER_INT 32
+#define HOST_BITS_PER_LONG 32
+#define HOST_BITS_PER_LONGLONG 64
+
+/* Doubles are stored in memory with the high order word first. This
+ matters when cross-compiling. */
+#define HOST_WORDS_BIG_ENDIAN 1
+
+/* target machine dependencies.
+ tm.h is a symbolic link to the actual target specific file. */
+#include "tm.h"
+
+/* Arguments to use with `exit'. */
+#define SUCCESS_EXIT_CODE 0
+#define FATAL_EXIT_CODE 33
diff --git a/gnu/egcs/gcc/config/vax/openbsd.h b/gnu/egcs/gcc/config/vax/openbsd.h
new file mode 100644
index 00000000000..008d77156f6
--- /dev/null
+++ b/gnu/egcs/gcc/config/vax/openbsd.h
@@ -0,0 +1,40 @@
+/* Configuration file for a vax OpenBSD target.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <vax/vax.h>
+#define OBSD_OLD_GAS
+#include <openbsd.h>
+
+#define CPP_PREDEFINES "-D__unix__ -D__vax__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(vax) -Amachine(vax)"
+
+/* Layout of source language data types. */
+
+/* This must agree with <machine/ansi.h> */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
diff --git a/gnu/egcs/gcc/config/vax/t-openbsd b/gnu/egcs/gcc/config/vax/t-openbsd
new file mode 100644
index 00000000000..fbc85d12a32
--- /dev/null
+++ b/gnu/egcs/gcc/config/vax/t-openbsd
@@ -0,0 +1,3 @@
+# We need urem and udiv from some kind of support library (e.g. libc) and
+# at this point we don't have that available
+LIBGCC1_TEST =
diff --git a/gnu/egcs/gcc/config/vax/xm-openbsd.h b/gnu/egcs/gcc/config/vax/xm-openbsd.h
new file mode 100644
index 00000000000..ade34d0b0fd
--- /dev/null
+++ b/gnu/egcs/gcc/config/vax/xm-openbsd.h
@@ -0,0 +1,22 @@
+/* Configuration file for an host running vax OpenBSD.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+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. */
+
+#include <xm-openbsd.h>
+#include <xm/xm-vax.h>