Tweak comments style and add FSF copyright...

This commit is contained in:
espie 1999-02-17 14:44:00 +00:00
parent c980be2eaf
commit cfc944275d
46 changed files with 1228 additions and 378 deletions

View File

@ -1,6 +1,24 @@
/* $OpenBSD: openbsd.h,v 1.11 1999/02/16 17:20:55 espie Exp $ */
/* Configuration file for an alpha OpenBSD target.
Copyright (C) 1999 Free Software Foundation, Inc.
/* We settle for little endian for now */
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. */
/* We settle for little endian for now. */
#define TARGET_ENDIAN_DEFAULT 0
#include <alpha/alpha.h>
@ -11,13 +29,13 @@
#define OBSD_HAS_DECLARE_OBJECT
/* alpha ecoff supports only weak aliases, see below. */
#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0)
#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS (FILE,NAME,0)
#include <openbsd.h>
/* Controlling the compilation driver
---------------------------------- */
/* alpha needs __start */
/* Controlling the compilation driver. */
/* alpha needs __start. */
#undef LINK_SPEC
#define LINK_SPEC \
"%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp %{assert*}"
@ -26,9 +44,9 @@
#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) \
-D__OpenBSD__ -D__alpha__ -D__alpha"
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "long unsigned int"
@ -47,20 +65,20 @@
#define LOCAL_LABEL_PREFIX "."
/* We don't have an init section yet */
/* We don't have an init section yet. */
#undef HAS_INIT_SECTION
/* collect2 support (assembler format: macros for initialization)
-------------------------------------------------------------- */
/* collect2 support (assembler format: macros for initialization). */
/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
library with the proper functions to handle this -> collect2 will
default to using nm. */
#undef OBJECT_FORMAT_COFF
#undef EXTENDED_COFF
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#ifdef INCOMING_RETURN_ADDR_RTX
@ -68,9 +86,9 @@
#define DWARF2_UNWIND_INFO 0
#endif
/* Assembler format: file framework
-------------------------------- */
/* taken from alpha/osf.h. This used to be common to all alpha
/* Assembler format: file framework. */
/* Taken from alpha/osf.h. This used to be common to all alpha
configurations, but elf has departed from it.
Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded. */
#ifndef ASM_FILE_START
@ -91,8 +109,8 @@
}
#endif
/* Assembler format: label output
------------------------------ */
/* Assembler format: label output. */
#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
do { \
fputs ("\t.weakext\t", FILE); \

View File

@ -1,2 +1,21 @@
/* Configuration file for an host running alpha 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 <alpha/xm-alpha.h>

View File

@ -1,4 +1,23 @@
/* $OpenBSD: openbsd.h,v 1.8 1999/02/16 17:20:55 espie Exp $ */
/* Configuration for an OpenBSD i386 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. */
/* This is tested by i386gas.h. */
#define YES_UNDERSCORES
@ -12,12 +31,12 @@
#define OBSD_OLD_GAS
#include <openbsd.h>
/* run-time target specifications */
/* Run-time target specifications */
#define CPP_PREDEFINES "-D__unix__ -D__i386__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(i386) -Amachine(i386)"
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -30,8 +49,8 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Assembler format: overall framework
----------------------------------- */
/* Assembler format: overall framework. */
#undef ASM_APP_ON
#define ASM_APP_ON "#APP\n"
@ -41,8 +60,8 @@
/* The following macros were originally stolen from i386v4.h.
These have to be defined to get PIC code correct. */
/* Assembler format: dispatch tables
--------------------------------- */
/* Assembler format: dispatch tables. */
/* How to output an element of a case-vector that is relative.
This is only used for PIC code. See comments by the `casesi' insn in
i386.md for an explanation of the expression this outputs. */
@ -50,24 +69,24 @@
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
/* Assembler format: sections
-------------------------- */
/* Assembler format: sections. */
/* Indicate when jump tables go in the text section. This is
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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
/* Assembler format: alignment output
---------------------------------- */
/* Assembler format: alignment output. */
/* Kludgy test: when gas is upgraded, it will have p2align, and no problems
with nops. */
#ifndef HAVE_GAS_MAX_SKIP_P2ALIGN
/* i386 openbsd still uses an older gas that doesn't insert nops by default
/* i386 OpenBSD still uses an older gas that doesn't insert nops by default
when the .align directive demands to insert extra space in the text
segment. */
#undef ASM_OUTPUT_ALIGN
@ -75,23 +94,23 @@
if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
#endif
/* Stack & calling: profiling
-------------------------- */
/* Stack & calling: profiling. */
/* OpenBSD's profiler recovers all information from the stack pointer.
The icky part is not here, but in machine/profile.h. */
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \
fputs(flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
fputs (flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#define DWARF2_UNWIND_INFO 0
/* Assembler format: alignment output
---------------------------------- */
/* Assembler format: alignment output. */
/* A C statement to output to the stdio stream FILE an assembler
command to advance the location counter to a multiple of 1<<LOG
bytes if it is within MAX_SKIP bytes.

View File

@ -1,2 +1,21 @@
/* Configuration file for i386 hosts running 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 <i386/xm-i386.h>

View File

@ -1,4 +1,22 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/02/16 17:20:55 espie Exp $ */
/* Configuration file for an m68k 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. */
/* m68k is an old configuration that does not yet use the TARGET_CPU_DEFAULT
framework. */
@ -15,16 +33,16 @@
#undef CPP_SPEC
#define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
/* run-time target specifications */
/* Run-time target specifications */
#define CPP_PREDEFINES "-D__unix__ -D__m68k__ -D__mc68000__ -D__mc68020__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(m68k) -Amachine(m68k)"
/* TODO: activate subtarget types when gas is updated
/* TODO: activate subtarget types when gas is updated.
#define ASM_SPEC "%| %{m68030} %{m68040} %{m68060} %{fpic:-k} %{fPIC:-k -K}"
*/
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -37,13 +55,13 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Storage layout
-------------- */
/* Storage layout. */
/* Every structure or union's size must be a multiple of 2 bytes. */
#define STRUCTURE_SIZE_BOUNDARY 16
/* Specific options for DBX Output
------------------------------- */
/* Specific options for DBX Output. */
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
@ -54,15 +72,15 @@
continuation back on). */
#define DBX_CONTIN_CHAR '?'
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#define DWARF2_UNWIND_INFO 0
@ -72,9 +90,9 @@
what bra func@PLTPC means under linux, and find the corresponding
construction for our gas/pic setup. */
#if 0
/* taken from linux.h. Processor dependent optimized code to handle C++
* multiple inheritance vtable lookup
*/
/* Taken from linux.h. Processor dependent optimized code to handle C++
multiple inheritance vtable lookup. */
/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
Used for C++ multiple inheritance. */
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \

View File

@ -1,2 +1,21 @@
/* Configuration file for an host running m68k 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 <m68k/xm-m68k.h>

View File

@ -1,6 +1,24 @@
/* $OpenBSD: openbsd.h,v 1.2 1999/02/16 17:20:56 espie Exp $ */
/* Configuration file for an m88k OpenBSD target.
Copyright (C) 1999 Free Software Foundation, Inc.
/* a.out with DBX */
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
@ -31,9 +49,9 @@
mode (and a float in ansi mode). */
#undef TRADITIONAL_RETURN_FLOAT
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -50,8 +68,8 @@
#undef STRUCTURE_SIZE_BOUNDARY
#define STRUCTURE_SIZE_BOUNDARY 16
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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

View File

@ -1,6 +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. */
/* Remove base m88k idiosyncrasies. */
#undef USG
#undef NO_SYS_SIGLIST

View File

@ -1,2 +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>

View File

@ -1,39 +1,55 @@
/* GCC configuration for OpenBSD Mips ABI32 */
/* $OpenBSD: openbsd.h,v 1.5 1999/02/16 17:20:56 espie Exp $ */
/* Configuration for a Mips ABI32 OpenBSD target.
Copyright (C) 1999 Free Software Foundation, Inc.
/* Default mips is little endian, unless otherwise specified */
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.
/* Definitions needed for OpenBSD, avoid picking mips 'defaults' */
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.
/* GAS must know this */
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 */
/* CPP specific OpenBSD specs. */
#define SUBTARGET_CPP_SPEC OBSD_CPP_SPEC
/* Needed for ELF (inspired by netbsd-elf) */
/* Needed for ELF (inspired by netbsd-elf). */
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#define LOCAL_LABEL_PREFIX "."
#include <mips/mips.h>
/* Get generic openbsd definitions */
/* 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 */
/* Run-time target specifications. */
#define CPP_PREDEFINES "-D__MIPSEL__ -D_MIPSEL -D__SYSTYPE_BSD__ \
-D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \
-D__unix__ -D__OpenBSD__ -D__mips__ \
-Asystem(unix) -Asystem(OpenBSD) -Amachine(mips)"
/* layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -46,12 +62,11 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Controlling the compilation driver
---------------------------------- */
/* 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 ? */
XXX Why don't we offer -R support ? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
@ -72,11 +87,11 @@
#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.
*/
/* 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; \
@ -88,8 +103,8 @@ do { \
fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
} while (0)
/* collect2 support (Macros for initialization)
-------------------------------------------- */
/* collect2 support (Macros for initialization). */
/* Mips default configuration is COFF-only, and confuses collect2. */
#undef OBJECT_FORMAT_COFF

View File

@ -1,5 +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 */
/* We're NOT systemV. */
#undef USG

View File

@ -1,19 +1,37 @@
/* $OpenBSD: openbsd.h,v 1.3 1999/02/16 17:20:56 espie Exp $ */
/* 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; */
/* 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 */
/* 32-bit alignment for efficiency. */
#undef POINTER_BOUNDARY
#define POINTER_BOUNDARY 32
/* 32-bit alignment for efficiency */
/* 32-bit alignment for efficiency. */
#undef FUNCTION_BOUNDARY
#define FUNCTION_BOUNDARY 32
@ -21,9 +39,9 @@
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,
@ -40,12 +58,12 @@
/* Get generic OpenBSD definitions. */
#include <openbsd.h>
/* run-time target specifications */
/* 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> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -58,8 +76,8 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Specific options for DBX Output
------------------------------- */
/* Specific options for DBX Output. */
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
@ -70,8 +88,8 @@
continuation back on). */
#define DBX_CONTIN_CHAR '?'
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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

View File

@ -1,7 +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 */
/* Remove ns32k idiosyncrasies. */
#undef memcpy
#undef memset
#undef memcmp

View File

@ -1,6 +1,24 @@
/* $OpenBSD: openbsd.h,v 1.13 1999/02/16 17:20:55 espie Exp $ */
/* Base configuration file for all OpenBSD targets.
Copyright (C) 1999 Free Software Foundation, Inc.
/* common OpenBSD configuration.
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. */
/* Common OpenBSD configuration.
All OpenBSD architectures include this file, which is intended as
a repository for common defines.
@ -20,24 +38,24 @@
the corresponding logic for OBJECTS is necessarily coupled.
There are also a few `default' defines such as ASM_WEAKEN_LABEL,
intended as common ground for arch that don't provide anything suitable.
*/
intended as common ground for arch that don't provide
anything suitable. */
/* OPENBSD_NATIVE is defined only when gcc is configured as part of
the OpenBSD source tree, specifically through Makefile.bsd-wrapper.
In such a case the include path can be trimmed as there is no
distinction between system includes and gcc includes
*/
distinction between system includes and gcc includes. */
/* This configuration method, namely Makefile.bsd-wrapper and
OPENBSD_NATIVE is NOT recommended for building cross-compilers
*/
OPENBSD_NATIVE is NOT recommended for building cross-compilers. */
#ifdef OPENBSD_NATIVE
#undef GCC_INCLUDE_DIR
#define GCC_INCLUDE_DIR "/usr/include"
/* The compiler is configured with ONLY the gcc/g++ standard headers */
/* The compiler is configured with ONLY the gcc/g++ standard headers. */
#undef INCLUDE_DEFAULTS
#define INCLUDE_DEFAULTS \
{ \
@ -53,20 +71,18 @@
#endif
/* Controlling the compilation driver
---------------------------------- */
/* Controlling the compilation driver. */
/* CPP_SPEC appropriate for OpenBSD. We deal with -posix and -pthread.
XXX the way threads are handling currently is not very satisfying,
since all code must be compiled with -pthread to work.
This two-stage defines makes it easy to pick that for targets that
have subspecs.
*/
This two-stage defines makes it easy to pick that for targets that
have subspecs. */
#define OBSD_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
/* LIB_SPEC appropriate for OpenBSD. Select the appropriate libc,
depending on profiling and threads.
Basically, -lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
depending on profiling and threads. Basically,
-lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
#define OBSD_LIB_SPEC "-lc%{pthread:_r}%{p:_p}%{!p:%{pg:_p}}"
#ifndef OBSD_HAS_CORRECT_SPECS
@ -74,7 +90,7 @@
#ifndef OBSD_NO_DYNAMIC_LIBRARIES
#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
(DEFAULT_SWITCH_TAKES_ARG(CHAR) \
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|| (CHAR) == 'R')
#endif
@ -111,23 +127,23 @@
#endif
/* Runtime target specification
---------------------------- */
/* Runtime target specification. */
/* You must redefine CPP_PREDEFINES in any arch specific file. */
#undef CPP_PREDEFINES
/* Implicit calls to library routines
---------------------------------- */
/* Implicit calls to library routines. */
/* Use memcpy and memset instead of bcopy and bzero. */
#define TARGET_MEM_FUNCTIONS
/* Miscellaneous parameters
------------------------ */
/* tell libgcc2.c that OpenBSD targets support atexit. */
/* Miscellaneous parameters. */
/* Tell libgcc2.c that OpenBSD targets support atexit. */
#define HAVE_ATEXIT
/* Controlling debugging info: dbx options
--------------------------------------- */
/* Controlling debugging info: dbx options. */
/* Don't use the `xsTAG;' construct in DBX output; OpenBSD systems that
use DBX don't support it. */
#define DBX_NO_XREFS
@ -140,8 +156,8 @@
.type _func , @function
This is more readable for a human being and confuses c++filt less. */
/* Assembler format: output and generation of labels
------------------------------------------------- */
/* Assembler format: output and generation of labels. */
/* Define the strings used for the .type and .size directives.
These strings generally do not vary from one system running OpenBSD
to another, but if a given system needs to use different pseudo-op
@ -199,7 +215,7 @@
{ \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, (FNAME)); \
fputs(" , . - ", FILE); \
fputs (" , . - ", FILE); \
assemble_name (FILE, (FNAME)); \
putc ('\n', FILE); \
} \
@ -224,14 +240,14 @@
assemble_name (FILE, NAME); \
fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
} \
ASM_OUTPUT_LABEL(FILE, NAME); \
ASM_OUTPUT_LABEL (FILE, NAME); \
} while (0)
/* Output the size directive for a decl in rest_of_decl_compilation
in the case where we did not do so before the initializer.
Once we find the error_mark_node, we know that the value of
size_directive_output was set
by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */
size_directive_output was set by ASM_DECLARE_OBJECT_NAME
when it was run for the same decl. */
#undef ASM_FINISH_DECLARE_OBJECT
#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
do { \
@ -272,16 +288,14 @@ do { \
#endif
/* Storage layout
-------------- */
/* Storage layout. */
/* We don't have to worry about binary compatibility with older C++ code,
but there is a big known bug with vtable thunks which has not been
fixed yet, so DON'T activate it by default.
*/
fixed yet, so DON'T activate it by default. */
/* #define DEFAULT_VTABLE_THUNKS 1 */
/* Otherwise, since we support weak, gthr.h erroneously tries to use
#pragma weak
*/
#pragma weak. */
#define GTHREAD_USE_WEAK 0

View File

@ -1,21 +1,39 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/02/16 17:20:56 espie Exp $ */
/* 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 */
/* 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(); \
override_options (); \
if (! flag_pic) \
target_flags |= MASK_PORTABLE_RUNTIME | MASK_FAST_INDIRECT_CALLS;\
}
/* XXX why doesn't PA support -R like everyone ??? */
/* XXX Why doesn't PA support -R like everyone ??? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{EB} %{EL} %{shared} %{non_shared} \
@ -25,9 +43,9 @@
%{!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> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -41,7 +59,7 @@
#define WCHAR_TYPE_SIZE 32
/* Output at beginning of assembler file. */
/* this is slightly changed from main pa.h to only output dyncall
/* This is slightly changed from main pa.h to only output dyncall
when compiling PIC. */
#undef ASM_FILE_START
#define ASM_FILE_START(FILE) \
@ -60,6 +78,6 @@ do { fputs ("\t.SPACE $PRIVATE$\n\
output_file_directive ((FILE), main_input_filename); \
} while (0)
/* remove hpux specific pa defines. */
/* Remove hpux specific pa defines. */
#undef LDD_SUFFIX
#undef PARSE_LDD_OUTPUT

View File

@ -1,6 +1,26 @@
/* 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... */
/* It is simpler to grab correct defines directly... */
/* #defines that need visibility everywhere. */
#define FALSE 0
#define TRUE 1

View File

@ -1,4 +1,22 @@
/* OpenBSD specific configuration for rs6000 */
/* Configuration file for an rs6000 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 <rs6000/sysv4.h>
@ -8,9 +26,9 @@
#define OBSD_HAS_DECLARE_OBJECT
#include <openbsd.h>
/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL */
/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL. */
/* run-time target specifications */
/* Run-time target specifications. */
#define CPP_PREDEFINES \
"-D__PPC -D__unix__ -D__OpenBSD__ -D__powerpc -Asystem(unix) -Asystem(OpenBSD) -Acpu(powerpc) -Amachine(powerpc)"
@ -52,8 +70,8 @@
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "mbig", "mcall-openbsd" }
/* collect2 support (Macros for initialization)
-------------------------------------------- */
/* collect2 support (Macros for initialization). */
/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
library with the proper functions to handle this -> collect2 will

View File

@ -1,7 +1,27 @@
/* Configuration file for an host running rs6000 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 <rs6000/xm-rs6000.h>
/* don't get mistaken for systemV */
/* Don't get mistaken for systemV. */
#undef USG
/* OpenBSD is using the gnu-linker, and has no COFF dynamic library

View File

@ -1,4 +1,22 @@
/* $OpenBSD: openbsd.h,v 1.4 1999/02/16 17:20:57 espie Exp $ */
/* Configuration file for sparc 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 <sparc/sparc.h>
@ -6,12 +24,12 @@
#define OBSD_OLD_GAS
#include <openbsd.h>
/* run-time target specifications */
/* Run-time target specifications. */
#define CPP_PREDEFINES "-D__unix__ -D__sparc__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(sparc) -Amachine(sparc)"
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -24,24 +42,24 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Specific options for DBX Output
------------------------------- */
/* Specific options for DBX Output. */
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
/* This is the char to use for continuation */
#define DBX_CONTIN_CHAR '?'
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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 DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#define DWARF2_UNWIND_INFO 0

View File

@ -1,2 +1,21 @@
/* Configuration file for an host running sparc 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 <sparc/xm-sparc.h>

View File

@ -1,13 +1,32 @@
/* $OpenBSD: openbsd.h,v 1.3 1999/02/16 17:20:57 espie Exp $ */
/* 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> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"

View File

@ -1,2 +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>

View File

@ -1,17 +1,33 @@
/* `generic' xm-openbsd.h.
This file gets included by all architectures. It holds stuff
that ought to be defined when hosting a compiler on an OpenBSD
machine, independently of the architecture. It's included by
${cpu_type}/xm-openbsd.h, not included directly.
*/
/* Configuration fragment for hosts running a version of 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. */
/* This file gets included by all architectures. It holds stuff
that ought to be defined when hosting a compiler on an OpenBSD
machine, independently of the architecture. It's included by
${cpu_type}/xm-openbsd.h, not included directly. */
/* OpenBSD is trying to be POSIX-compliant, to the point of fixing
problems that may occur with gcc's interpretation.
*/
problems that may occur with gcc's interpretation. */
#undef POSIX
#define POSIX
/* Ensure we get gnu C's defaults */
/* Ensure we get gnu C's defaults. */
#ifdef __GNUC__
#define alloca __builtin_alloca
#endif

View File

@ -1,6 +1,24 @@
/* $OpenBSD: openbsd.h,v 1.11 1999/02/16 17:20:55 espie Exp $ */
/* Configuration file for an alpha OpenBSD target.
Copyright (C) 1999 Free Software Foundation, Inc.
/* We settle for little endian for now */
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. */
/* We settle for little endian for now. */
#define TARGET_ENDIAN_DEFAULT 0
#include <alpha/alpha.h>
@ -11,13 +29,13 @@
#define OBSD_HAS_DECLARE_OBJECT
/* alpha ecoff supports only weak aliases, see below. */
#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0)
#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS (FILE,NAME,0)
#include <openbsd.h>
/* Controlling the compilation driver
---------------------------------- */
/* alpha needs __start */
/* Controlling the compilation driver. */
/* alpha needs __start. */
#undef LINK_SPEC
#define LINK_SPEC \
"%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp %{assert*}"
@ -26,9 +44,9 @@
#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) \
-D__OpenBSD__ -D__alpha__ -D__alpha"
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "long unsigned int"
@ -47,20 +65,20 @@
#define LOCAL_LABEL_PREFIX "."
/* We don't have an init section yet */
/* We don't have an init section yet. */
#undef HAS_INIT_SECTION
/* collect2 support (assembler format: macros for initialization)
-------------------------------------------------------------- */
/* collect2 support (assembler format: macros for initialization). */
/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
library with the proper functions to handle this -> collect2 will
default to using nm. */
#undef OBJECT_FORMAT_COFF
#undef EXTENDED_COFF
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#ifdef INCOMING_RETURN_ADDR_RTX
@ -68,9 +86,9 @@
#define DWARF2_UNWIND_INFO 0
#endif
/* Assembler format: file framework
-------------------------------- */
/* taken from alpha/osf.h. This used to be common to all alpha
/* Assembler format: file framework. */
/* Taken from alpha/osf.h. This used to be common to all alpha
configurations, but elf has departed from it.
Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded. */
#ifndef ASM_FILE_START
@ -91,8 +109,8 @@
}
#endif
/* Assembler format: label output
------------------------------ */
/* Assembler format: label output. */
#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
do { \
fputs ("\t.weakext\t", FILE); \

View File

@ -1,2 +1,21 @@
/* Configuration file for an host running alpha 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 <alpha/xm-alpha.h>

View File

@ -1,4 +1,23 @@
/* $OpenBSD: openbsd.h,v 1.8 1999/02/16 17:20:55 espie Exp $ */
/* Configuration for an OpenBSD i386 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. */
/* This is tested by i386gas.h. */
#define YES_UNDERSCORES
@ -12,12 +31,12 @@
#define OBSD_OLD_GAS
#include <openbsd.h>
/* run-time target specifications */
/* Run-time target specifications */
#define CPP_PREDEFINES "-D__unix__ -D__i386__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(i386) -Amachine(i386)"
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -30,8 +49,8 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Assembler format: overall framework
----------------------------------- */
/* Assembler format: overall framework. */
#undef ASM_APP_ON
#define ASM_APP_ON "#APP\n"
@ -41,8 +60,8 @@
/* The following macros were originally stolen from i386v4.h.
These have to be defined to get PIC code correct. */
/* Assembler format: dispatch tables
--------------------------------- */
/* Assembler format: dispatch tables. */
/* How to output an element of a case-vector that is relative.
This is only used for PIC code. See comments by the `casesi' insn in
i386.md for an explanation of the expression this outputs. */
@ -50,24 +69,24 @@
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
/* Assembler format: sections
-------------------------- */
/* Assembler format: sections. */
/* Indicate when jump tables go in the text section. This is
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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
/* Assembler format: alignment output
---------------------------------- */
/* Assembler format: alignment output. */
/* Kludgy test: when gas is upgraded, it will have p2align, and no problems
with nops. */
#ifndef HAVE_GAS_MAX_SKIP_P2ALIGN
/* i386 openbsd still uses an older gas that doesn't insert nops by default
/* i386 OpenBSD still uses an older gas that doesn't insert nops by default
when the .align directive demands to insert extra space in the text
segment. */
#undef ASM_OUTPUT_ALIGN
@ -75,23 +94,23 @@
if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
#endif
/* Stack & calling: profiling
-------------------------- */
/* Stack & calling: profiling. */
/* OpenBSD's profiler recovers all information from the stack pointer.
The icky part is not here, but in machine/profile.h. */
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \
fputs(flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
fputs (flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#define DWARF2_UNWIND_INFO 0
/* Assembler format: alignment output
---------------------------------- */
/* Assembler format: alignment output. */
/* A C statement to output to the stdio stream FILE an assembler
command to advance the location counter to a multiple of 1<<LOG
bytes if it is within MAX_SKIP bytes.

View File

@ -1,2 +1,21 @@
/* Configuration file for i386 hosts running 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 <i386/xm-i386.h>

View File

@ -1,4 +1,22 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/02/16 17:20:55 espie Exp $ */
/* Configuration file for an m68k 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. */
/* m68k is an old configuration that does not yet use the TARGET_CPU_DEFAULT
framework. */
@ -15,16 +33,16 @@
#undef CPP_SPEC
#define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
/* run-time target specifications */
/* Run-time target specifications */
#define CPP_PREDEFINES "-D__unix__ -D__m68k__ -D__mc68000__ -D__mc68020__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(m68k) -Amachine(m68k)"
/* TODO: activate subtarget types when gas is updated
/* TODO: activate subtarget types when gas is updated.
#define ASM_SPEC "%| %{m68030} %{m68040} %{m68060} %{fpic:-k} %{fPIC:-k -K}"
*/
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -37,13 +55,13 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Storage layout
-------------- */
/* Storage layout. */
/* Every structure or union's size must be a multiple of 2 bytes. */
#define STRUCTURE_SIZE_BOUNDARY 16
/* Specific options for DBX Output
------------------------------- */
/* Specific options for DBX Output. */
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
@ -54,15 +72,15 @@
continuation back on). */
#define DBX_CONTIN_CHAR '?'
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#define DWARF2_UNWIND_INFO 0
@ -72,9 +90,9 @@
what bra func@PLTPC means under linux, and find the corresponding
construction for our gas/pic setup. */
#if 0
/* taken from linux.h. Processor dependent optimized code to handle C++
* multiple inheritance vtable lookup
*/
/* Taken from linux.h. Processor dependent optimized code to handle C++
multiple inheritance vtable lookup. */
/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
Used for C++ multiple inheritance. */
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \

View File

@ -1,2 +1,21 @@
/* Configuration file for an host running m68k 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 <m68k/xm-m68k.h>

View File

@ -1,6 +1,24 @@
/* $OpenBSD: openbsd.h,v 1.2 1999/02/16 17:20:56 espie Exp $ */
/* Configuration file for an m88k OpenBSD target.
Copyright (C) 1999 Free Software Foundation, Inc.
/* a.out with DBX */
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
@ -31,9 +49,9 @@
mode (and a float in ansi mode). */
#undef TRADITIONAL_RETURN_FLOAT
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -50,8 +68,8 @@
#undef STRUCTURE_SIZE_BOUNDARY
#define STRUCTURE_SIZE_BOUNDARY 16
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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

View File

@ -1,6 +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. */
/* Remove base m88k idiosyncrasies. */
#undef USG
#undef NO_SYS_SIGLIST

View File

@ -1,2 +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>

View File

@ -1,39 +1,55 @@
/* GCC configuration for OpenBSD Mips ABI32 */
/* $OpenBSD: openbsd.h,v 1.5 1999/02/16 17:20:56 espie Exp $ */
/* Configuration for a Mips ABI32 OpenBSD target.
Copyright (C) 1999 Free Software Foundation, Inc.
/* Default mips is little endian, unless otherwise specified */
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.
/* Definitions needed for OpenBSD, avoid picking mips 'defaults' */
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.
/* GAS must know this */
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 */
/* CPP specific OpenBSD specs. */
#define SUBTARGET_CPP_SPEC OBSD_CPP_SPEC
/* Needed for ELF (inspired by netbsd-elf) */
/* Needed for ELF (inspired by netbsd-elf). */
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#define LOCAL_LABEL_PREFIX "."
#include <mips/mips.h>
/* Get generic openbsd definitions */
/* 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 */
/* Run-time target specifications. */
#define CPP_PREDEFINES "-D__MIPSEL__ -D_MIPSEL -D__SYSTYPE_BSD__ \
-D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \
-D__unix__ -D__OpenBSD__ -D__mips__ \
-Asystem(unix) -Asystem(OpenBSD) -Amachine(mips)"
/* layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -46,12 +62,11 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Controlling the compilation driver
---------------------------------- */
/* 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 ? */
XXX Why don't we offer -R support ? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
@ -72,11 +87,11 @@
#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.
*/
/* 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; \
@ -88,8 +103,8 @@ do { \
fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
} while (0)
/* collect2 support (Macros for initialization)
-------------------------------------------- */
/* collect2 support (Macros for initialization). */
/* Mips default configuration is COFF-only, and confuses collect2. */
#undef OBJECT_FORMAT_COFF

View File

@ -1,5 +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 */
/* We're NOT systemV. */
#undef USG

View File

@ -1,19 +1,37 @@
/* $OpenBSD: openbsd.h,v 1.3 1999/02/16 17:20:56 espie Exp $ */
/* 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; */
/* 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 */
/* 32-bit alignment for efficiency. */
#undef POINTER_BOUNDARY
#define POINTER_BOUNDARY 32
/* 32-bit alignment for efficiency */
/* 32-bit alignment for efficiency. */
#undef FUNCTION_BOUNDARY
#define FUNCTION_BOUNDARY 32
@ -21,9 +39,9 @@
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,
@ -40,12 +58,12 @@
/* Get generic OpenBSD definitions. */
#include <openbsd.h>
/* run-time target specifications */
/* 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> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -58,8 +76,8 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Specific options for DBX Output
------------------------------- */
/* Specific options for DBX Output. */
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
@ -70,8 +88,8 @@
continuation back on). */
#define DBX_CONTIN_CHAR '?'
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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

View File

@ -1,7 +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 */
/* Remove ns32k idiosyncrasies. */
#undef memcpy
#undef memset
#undef memcmp

View File

@ -1,6 +1,24 @@
/* $OpenBSD: openbsd.h,v 1.13 1999/02/16 17:20:55 espie Exp $ */
/* Base configuration file for all OpenBSD targets.
Copyright (C) 1999 Free Software Foundation, Inc.
/* common OpenBSD configuration.
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. */
/* Common OpenBSD configuration.
All OpenBSD architectures include this file, which is intended as
a repository for common defines.
@ -20,24 +38,24 @@
the corresponding logic for OBJECTS is necessarily coupled.
There are also a few `default' defines such as ASM_WEAKEN_LABEL,
intended as common ground for arch that don't provide anything suitable.
*/
intended as common ground for arch that don't provide
anything suitable. */
/* OPENBSD_NATIVE is defined only when gcc is configured as part of
the OpenBSD source tree, specifically through Makefile.bsd-wrapper.
In such a case the include path can be trimmed as there is no
distinction between system includes and gcc includes
*/
distinction between system includes and gcc includes. */
/* This configuration method, namely Makefile.bsd-wrapper and
OPENBSD_NATIVE is NOT recommended for building cross-compilers
*/
OPENBSD_NATIVE is NOT recommended for building cross-compilers. */
#ifdef OPENBSD_NATIVE
#undef GCC_INCLUDE_DIR
#define GCC_INCLUDE_DIR "/usr/include"
/* The compiler is configured with ONLY the gcc/g++ standard headers */
/* The compiler is configured with ONLY the gcc/g++ standard headers. */
#undef INCLUDE_DEFAULTS
#define INCLUDE_DEFAULTS \
{ \
@ -53,20 +71,18 @@
#endif
/* Controlling the compilation driver
---------------------------------- */
/* Controlling the compilation driver. */
/* CPP_SPEC appropriate for OpenBSD. We deal with -posix and -pthread.
XXX the way threads are handling currently is not very satisfying,
since all code must be compiled with -pthread to work.
This two-stage defines makes it easy to pick that for targets that
have subspecs.
*/
This two-stage defines makes it easy to pick that for targets that
have subspecs. */
#define OBSD_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
/* LIB_SPEC appropriate for OpenBSD. Select the appropriate libc,
depending on profiling and threads.
Basically, -lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
depending on profiling and threads. Basically,
-lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
#define OBSD_LIB_SPEC "-lc%{pthread:_r}%{p:_p}%{!p:%{pg:_p}}"
#ifndef OBSD_HAS_CORRECT_SPECS
@ -74,7 +90,7 @@
#ifndef OBSD_NO_DYNAMIC_LIBRARIES
#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
(DEFAULT_SWITCH_TAKES_ARG(CHAR) \
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|| (CHAR) == 'R')
#endif
@ -111,23 +127,23 @@
#endif
/* Runtime target specification
---------------------------- */
/* Runtime target specification. */
/* You must redefine CPP_PREDEFINES in any arch specific file. */
#undef CPP_PREDEFINES
/* Implicit calls to library routines
---------------------------------- */
/* Implicit calls to library routines. */
/* Use memcpy and memset instead of bcopy and bzero. */
#define TARGET_MEM_FUNCTIONS
/* Miscellaneous parameters
------------------------ */
/* tell libgcc2.c that OpenBSD targets support atexit. */
/* Miscellaneous parameters. */
/* Tell libgcc2.c that OpenBSD targets support atexit. */
#define HAVE_ATEXIT
/* Controlling debugging info: dbx options
--------------------------------------- */
/* Controlling debugging info: dbx options. */
/* Don't use the `xsTAG;' construct in DBX output; OpenBSD systems that
use DBX don't support it. */
#define DBX_NO_XREFS
@ -140,8 +156,8 @@
.type _func , @function
This is more readable for a human being and confuses c++filt less. */
/* Assembler format: output and generation of labels
------------------------------------------------- */
/* Assembler format: output and generation of labels. */
/* Define the strings used for the .type and .size directives.
These strings generally do not vary from one system running OpenBSD
to another, but if a given system needs to use different pseudo-op
@ -199,7 +215,7 @@
{ \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, (FNAME)); \
fputs(" , . - ", FILE); \
fputs (" , . - ", FILE); \
assemble_name (FILE, (FNAME)); \
putc ('\n', FILE); \
} \
@ -224,14 +240,14 @@
assemble_name (FILE, NAME); \
fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
} \
ASM_OUTPUT_LABEL(FILE, NAME); \
ASM_OUTPUT_LABEL (FILE, NAME); \
} while (0)
/* Output the size directive for a decl in rest_of_decl_compilation
in the case where we did not do so before the initializer.
Once we find the error_mark_node, we know that the value of
size_directive_output was set
by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */
size_directive_output was set by ASM_DECLARE_OBJECT_NAME
when it was run for the same decl. */
#undef ASM_FINISH_DECLARE_OBJECT
#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
do { \
@ -272,16 +288,14 @@ do { \
#endif
/* Storage layout
-------------- */
/* Storage layout. */
/* We don't have to worry about binary compatibility with older C++ code,
but there is a big known bug with vtable thunks which has not been
fixed yet, so DON'T activate it by default.
*/
fixed yet, so DON'T activate it by default. */
/* #define DEFAULT_VTABLE_THUNKS 1 */
/* Otherwise, since we support weak, gthr.h erroneously tries to use
#pragma weak
*/
#pragma weak. */
#define GTHREAD_USE_WEAK 0

View File

@ -1,21 +1,39 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/02/16 17:20:56 espie Exp $ */
/* 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 */
/* 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(); \
override_options (); \
if (! flag_pic) \
target_flags |= MASK_PORTABLE_RUNTIME | MASK_FAST_INDIRECT_CALLS;\
}
/* XXX why doesn't PA support -R like everyone ??? */
/* XXX Why doesn't PA support -R like everyone ??? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{EB} %{EL} %{shared} %{non_shared} \
@ -25,9 +43,9 @@
%{!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> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -41,7 +59,7 @@
#define WCHAR_TYPE_SIZE 32
/* Output at beginning of assembler file. */
/* this is slightly changed from main pa.h to only output dyncall
/* This is slightly changed from main pa.h to only output dyncall
when compiling PIC. */
#undef ASM_FILE_START
#define ASM_FILE_START(FILE) \
@ -60,6 +78,6 @@ do { fputs ("\t.SPACE $PRIVATE$\n\
output_file_directive ((FILE), main_input_filename); \
} while (0)
/* remove hpux specific pa defines. */
/* Remove hpux specific pa defines. */
#undef LDD_SUFFIX
#undef PARSE_LDD_OUTPUT

View File

@ -1,6 +1,26 @@
/* 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... */
/* It is simpler to grab correct defines directly... */
/* #defines that need visibility everywhere. */
#define FALSE 0
#define TRUE 1

View File

@ -1,4 +1,22 @@
/* OpenBSD specific configuration for rs6000 */
/* Configuration file for an rs6000 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 <rs6000/sysv4.h>
@ -8,9 +26,9 @@
#define OBSD_HAS_DECLARE_OBJECT
#include <openbsd.h>
/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL */
/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL. */
/* run-time target specifications */
/* Run-time target specifications. */
#define CPP_PREDEFINES \
"-D__PPC -D__unix__ -D__OpenBSD__ -D__powerpc -Asystem(unix) -Asystem(OpenBSD) -Acpu(powerpc) -Amachine(powerpc)"
@ -52,8 +70,8 @@
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "mbig", "mcall-openbsd" }
/* collect2 support (Macros for initialization)
-------------------------------------------- */
/* collect2 support (Macros for initialization). */
/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
library with the proper functions to handle this -> collect2 will

View File

@ -1,7 +1,27 @@
/* Configuration file for an host running rs6000 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 <rs6000/xm-rs6000.h>
/* don't get mistaken for systemV */
/* Don't get mistaken for systemV. */
#undef USG
/* OpenBSD is using the gnu-linker, and has no COFF dynamic library

View File

@ -1,4 +1,22 @@
/* $OpenBSD: openbsd.h,v 1.4 1999/02/16 17:20:57 espie Exp $ */
/* Configuration file for sparc 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 <sparc/sparc.h>
@ -6,12 +24,12 @@
#define OBSD_OLD_GAS
#include <openbsd.h>
/* run-time target specifications */
/* Run-time target specifications. */
#define CPP_PREDEFINES "-D__unix__ -D__sparc__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(sparc) -Amachine(sparc)"
/* Layout of source language data types
------------------------------------ */
/* this must agree with <machine/ansi.h> */
/* Layout of source language data types */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
@ -24,24 +42,24 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Specific options for DBX Output
------------------------------- */
/* Specific options for DBX Output. */
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
/* This is the char to use for continuation */
#define DBX_CONTIN_CHAR '?'
/* Stack & calling: aggregate returns
---------------------------------- */
/* 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 DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0
/* Assembler format: exception region output
----------------------------------------- */
/* all configurations that don't use elf must be explicit about not using
/* Assembler format: exception region output. */
/* All configurations that don't use elf must be explicit about not using
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#define DWARF2_UNWIND_INFO 0

View File

@ -1,2 +1,21 @@
/* Configuration file for an host running sparc 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 <sparc/xm-sparc.h>

View File

@ -1,13 +1,32 @@
/* $OpenBSD: openbsd.h,v 1.3 1999/02/16 17:20:57 espie Exp $ */
/* 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> */
/* Layout of source language data types. */
/* This must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"

View File

@ -1,2 +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>

View File

@ -1,17 +1,33 @@
/* `generic' xm-openbsd.h.
This file gets included by all architectures. It holds stuff
that ought to be defined when hosting a compiler on an OpenBSD
machine, independently of the architecture. It's included by
${cpu_type}/xm-openbsd.h, not included directly.
*/
/* Configuration fragment for hosts running a version of 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. */
/* This file gets included by all architectures. It holds stuff
that ought to be defined when hosting a compiler on an OpenBSD
machine, independently of the architecture. It's included by
${cpu_type}/xm-openbsd.h, not included directly. */
/* OpenBSD is trying to be POSIX-compliant, to the point of fixing
problems that may occur with gcc's interpretation.
*/
problems that may occur with gcc's interpretation. */
#undef POSIX
#define POSIX
/* Ensure we get gnu C's defaults */
/* Ensure we get gnu C's defaults. */
#ifdef __GNUC__
#define alloca __builtin_alloca
#endif