Cleaning up configuration, and comments...

This commit is contained in:
espie 1999-02-06 16:31:14 +00:00
parent dafd993a63
commit dd9b92c64d
12 changed files with 234 additions and 156 deletions

View File

@ -3,7 +3,7 @@
# Date created: 25 sep 98
# Whom: Marc Espie
#
# $OpenBSD: Makefile,v 1.25 1999/02/04 13:21:12 espie Exp $
# $OpenBSD: Makefile,v 1.26 1999/02/06 16:31:14 espie Exp $
#
# This is a configuration file for egcs, snapshot flavor
# PLEASE use the regular egcs-stable for serious work, resort to this one
@ -320,7 +320,7 @@ do-build:
####
# Install section
PLIST=${WRKDIR}/PLIST
PLIST=${WRKBUILD}/PLIST
M4FLAGS=-Uinclude -DDISTNAME=${DISTNAME}
.if defined(MAKE_GXX)

View File

@ -1,6 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.9 1999/02/03 18:04:30 espie Exp $ */
/* vi:ts=8:
*/
/* $OpenBSD: openbsd.h,v 1.10 1999/02/06 16:31:14 espie Exp $ */
/* We settle for little endian for now */
#define TARGET_ENDIAN_DEFAULT 0
@ -10,9 +8,15 @@
#define OBSD_NO_DYNAMIC_LIBRARIES
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
#define OBSD_HAS_DECLARE_OBJECT_NAME
#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)
#include <openbsd.h>
#undef ASM_WEAKEN_LABEL
/* Controlling the compilation driver
* ---------------------------------- */
/* alpha needs __start */
#undef LINK_SPEC
#define LINK_SPEC \
@ -22,8 +26,7 @@
#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) \
-D__OpenBSD__ -D__alpha__ -D__alpha"
/* layout of source language data types
/* Layout of source language data types
* ------------------------------------ */
/* this must agree with <machine/ansi.h> */
#undef SIZE_TYPE
@ -47,28 +50,29 @@
/* We don't have an init section yet */
#undef HAS_INIT_SECTION
/* collect2 support (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
* dwarf unwind information. egcs doesn't try too hard to check internal
* configuration files...
*/
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#ifdef INCOMING_RETURN_ADDR_RTX
#undef DWARF2_UNWIND_INFO
#define DWARF2_UNWIND_INFO 0
#endif
/* 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.
*/
configurations, but elf has departed from it.
Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded. */
#ifndef ASM_FILE_START
#define ASM_FILE_START(FILE) \
{ \
@ -87,4 +91,17 @@
}
#endif
/* Assembler format: label output
* ------------------------------ */
#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
do { \
fputs ("\t.weakext\t", FILE); \
assemble_name (FILE, NAME); \
if (VALUE) \
{ \
fputs (" , ", FILE); \
assemble_name (FILE, VALUE); \
} \
fputc ('\n', FILE); \
} while (0)

View File

@ -1,4 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/01/12 11:27:40 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.7 1999/02/06 16:31:14 espie Exp $ */
/* vi:ts=8:
*/
@ -17,8 +17,7 @@
/* 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
/* Layout of source language data types
* ------------------------------------ */
/* this must agree with <machine/ansi.h> */
#undef SIZE_TYPE
@ -33,34 +32,42 @@
#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"
#undef ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n"
/* The following macros were originally stolen from i386v4.h */
/* These have to be defined to get PIC code correct */
/* This is how to output an element of a case-vector that is relative.
/* 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. */
#undef ASM_OUTPUT_ADDR_DIFF_ELT
#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
* -------------------------- */
/* 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
* ---------------------------------- */
/* 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
/* check for a recent version of gas */
/* 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
when the .align directive demands to insert extra space in the text
@ -69,32 +76,30 @@
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
#endif
/* Profiling routines, partially copied from i386/osfrose.h. */
/* Redefine this to use %eax instead of %edx. */
/* 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) \
{ \
if (flag_pic) \
{ \
fprintf (FILE, "\tcall mcount@PLT\n"); \
} \
else \
{ \
fprintf (FILE, "\tcall mcount\n"); \
} \
}
fputs(flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
/* aout-i386-openbsd does not handle dwarf2 unwinds and initialization info
correctly. */
/* 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
* ---------------------------------- */
/* 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.
This is used to align code labels according to Intel recommendations. */
This will be used to align code labels according to Intel
recommendations, in prevision of binutils upgrade. */
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
do { \
@ -104,5 +109,4 @@
} while (0)
#endif
/* We pick up ASM_OUTPUT_MI_THUNK from unix.h */
/* Note that we pick up ASM_OUTPUT_MI_THUNK from unix.h. */

View File

@ -1,5 +1,5 @@
/* GCC configuration for OpenBSD Mips ABI32 */
/* $OpenBSD: openbsd.h,v 1.1 1999/01/18 10:23:26 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.2 1999/02/06 16:31:15 espie Exp $ */
/* Default mips is little endian, unless otherwise specified */
@ -9,7 +9,7 @@
/* Get generic openbsd definitions */
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_OBJECT_NAME
#define OBSD_HAS_DECLARE_OBJECT
#include <openbsd.h>

View File

@ -1,8 +1,27 @@
/* $OpenBSD: openbsd.h,v 1.9 1999/02/04 13:21:13 espie Exp $ */
/* vi:ts=8:
*/
/* $OpenBSD: openbsd.h,v 1.10 1999/02/06 16:31:14 espie Exp $ */
/* common OpenBSD configuration. */
/* common OpenBSD configuration.
All OpenBSD architectures include this file, which is intended as
a repository for common defines.
Some defines are common to all architectures, a few of them are
triggered by OBSD_* guards, so that we won't override architecture
defaults by mistakes.
OBSD_HAS_CORRECT_SPECS:
another mechanism provides correct specs already.
OBSD_NO_DYNAMIC_LIBRARIES:
no implementation of dynamic libraries.
OBSD_OLD_GAS:
older flavor of gas which needs help for PIC.
OBSD_HAS_DECLARE_FUNCTION_NAME, OBSD_HAS_DECLARE_FUNCTION_SIZE,
OBSD_HAS_DECLARE_OBJECT:
PIC support, FUNCTION_NAME/FUNCTION_SIZE are independent, whereas
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.
*/
/* OPENBSD_NATIVE is defined only when gcc is configured as part of
the OpenBSD source tree, specifically through Makefile.bsd-wrapper.
@ -33,9 +52,11 @@
#endif
#ifndef OBSD_HAS_CORRECT_SPECS
/* Controlling the compilation driver
* ---------------------------------- */
#ifndef OBSD_HAS_CORRECT_SPECS
#ifndef OBSD_NO_DYNAMIC_LIBRARIES
#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
@ -43,11 +64,13 @@
|| (CHAR) == 'R')
#endif
/* CPP_SPEC appropriate for OpenBSD. We deal with -posix and -pthread */
/* 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.
*/
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
#ifdef OBSD_OLD_GAS
/* ASM_SPEC appropriate for OpenBSD. For some architectures, OpenBSD
still uses a special flavor of gas that needs to be told when generating
@ -62,7 +85,6 @@
#endif
#endif
/* LINK_SPEC appropriate for OpenBSD. Support for GCC options
-static, -assert, and -nostdlib. */
#undef LINK_SPEC
@ -76,46 +98,40 @@
/* 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
*/
Basically, -lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
#undef LIB_SPEC
#define LIB_SPEC "-lc%{pthread:_r}%{p:_p}%{!p:%{pg:_p}}"
#endif
/* Runtime target specification
* ---------------------------- */
/* You must redefine CPP_PREDEFINES in any arch specific file */
/* You must redefine CPP_PREDEFINES in any arch specific file. */
#undef CPP_PREDEFINES
/* recent snapshots of egcs use a correct call to mkstemps,
and define MKTEMP_EACH_FILE appropriately. */
#undef MKTEMP_EACH_FILE
/* Implicit calls to library routines
* ---------------------------------- */
/* Use memcpy and memset instead of bcopy and bzero */
/* Use memcpy and memset instead of bcopy and bzero. */
#define TARGET_MEM_FUNCTIONS
/* Miscellaneous parameters
* ------------------------ */
/* tell libgcc2.c that OpenBSD targets support atexit */
/* tell libgcc2.c that OpenBSD targets support atexit. */
#define HAVE_ATEXIT
/* 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
/* Support of shared libraries, mostly imported from svr4.h through netbsd. */
/* Two differences from svr4.h:
- we use . - _func instead of a local label,
- we put extra spaces in expressions such as
.type _func , @function
This is more readable for a human being and confuses c++filt less.
*/
/* These macros are needed for correct pic code generation, but they
should not break anything even if that specific system does not yet handle
dynamic libraries. */
This is more readable for a human being and confuses c++filt less. */
/* Assembler format: output and generation of labels
* ------------------------------------------------- */
@ -139,8 +155,8 @@
#undef TYPE_OPERAND_FMT
#define TYPE_OPERAND_FMT "@%s"
/* Provision if extra assembler code is needed to declare a function's result.
*/
/* Provision if extra assembler code is needed to declare a function's result
(taken from svr4, not needed yet actually). */
#ifndef ASM_DECLARE_RESULT
#define ASM_DECLARE_RESULT(FILE, RESULT)
#endif
@ -183,7 +199,7 @@
} while (0)
#endif
#ifndef OBSD_HAS_DECLARE_OBJECT_NAME
#ifndef OBSD_HAS_DECLARE_OBJECT
/* Extra assembler code needed to declare an object properly. */
#undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
@ -233,8 +249,8 @@ do { \
before including this file. */
/* Tell the assembler that a symbol is weak. */
/* XXX binutils assembler should make weak labels global itself. If you
need to emit a .globl here, it's likely your assembler is broken. */
/* Note: netbsd arm32 assembler needs a .globl here. An override may
be needed when/if we go for arm32 support. */
#ifndef ASM_WEAKEN_LABEL
#define ASM_WEAKEN_LABEL(FILE,NAME) \
do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
@ -249,6 +265,8 @@ do { \
#endif
/* Storage layout
* -------------- */
/* Use VTABLE_THUNKS always: we don't have to worry about binary
compatibility with older C++ code. */
#define DEFAULT_VTABLE_THUNKS 1

View File

@ -1,11 +1,11 @@
/* OpenBSD specific configuration for rs6000 */
#include "rs6000/sysv4.h"
#include <rs6000/sysv4.h>
#define OBSD_HAS_CORRECT_SPECS
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
#define OBSD_HAS_DECLARE_OBJECT_NAME
#define OBSD_HAS_DECLARE_OBJECT
#include <openbsd.h>
/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL */

View File

@ -3,7 +3,7 @@
# Date created: 25 sep 98
# Whom: Marc Espie
#
# $OpenBSD: Makefile,v 1.25 1999/02/04 13:21:12 espie Exp $
# $OpenBSD: Makefile,v 1.26 1999/02/06 16:31:14 espie Exp $
#
# This is a configuration file for egcs, snapshot flavor
# PLEASE use the regular egcs-stable for serious work, resort to this one
@ -320,7 +320,7 @@ do-build:
####
# Install section
PLIST=${WRKDIR}/PLIST
PLIST=${WRKBUILD}/PLIST
M4FLAGS=-Uinclude -DDISTNAME=${DISTNAME}
.if defined(MAKE_GXX)

View File

@ -1,6 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.9 1999/02/03 18:04:30 espie Exp $ */
/* vi:ts=8:
*/
/* $OpenBSD: openbsd.h,v 1.10 1999/02/06 16:31:14 espie Exp $ */
/* We settle for little endian for now */
#define TARGET_ENDIAN_DEFAULT 0
@ -10,9 +8,15 @@
#define OBSD_NO_DYNAMIC_LIBRARIES
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
#define OBSD_HAS_DECLARE_OBJECT_NAME
#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)
#include <openbsd.h>
#undef ASM_WEAKEN_LABEL
/* Controlling the compilation driver
* ---------------------------------- */
/* alpha needs __start */
#undef LINK_SPEC
#define LINK_SPEC \
@ -22,8 +26,7 @@
#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) \
-D__OpenBSD__ -D__alpha__ -D__alpha"
/* layout of source language data types
/* Layout of source language data types
* ------------------------------------ */
/* this must agree with <machine/ansi.h> */
#undef SIZE_TYPE
@ -47,28 +50,29 @@
/* We don't have an init section yet */
#undef HAS_INIT_SECTION
/* collect2 support (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
* dwarf unwind information. egcs doesn't try too hard to check internal
* configuration files...
*/
dwarf unwind information. egcs doesn't try too hard to check internal
configuration files... */
#ifdef INCOMING_RETURN_ADDR_RTX
#undef DWARF2_UNWIND_INFO
#define DWARF2_UNWIND_INFO 0
#endif
/* 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.
*/
configurations, but elf has departed from it.
Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded. */
#ifndef ASM_FILE_START
#define ASM_FILE_START(FILE) \
{ \
@ -87,4 +91,17 @@
}
#endif
/* Assembler format: label output
* ------------------------------ */
#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
do { \
fputs ("\t.weakext\t", FILE); \
assemble_name (FILE, NAME); \
if (VALUE) \
{ \
fputs (" , ", FILE); \
assemble_name (FILE, VALUE); \
} \
fputc ('\n', FILE); \
} while (0)

View File

@ -1,4 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/01/12 11:27:40 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.7 1999/02/06 16:31:14 espie Exp $ */
/* vi:ts=8:
*/
@ -17,8 +17,7 @@
/* 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
/* Layout of source language data types
* ------------------------------------ */
/* this must agree with <machine/ansi.h> */
#undef SIZE_TYPE
@ -33,34 +32,42 @@
#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"
#undef ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n"
/* The following macros were originally stolen from i386v4.h */
/* These have to be defined to get PIC code correct */
/* This is how to output an element of a case-vector that is relative.
/* 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. */
#undef ASM_OUTPUT_ADDR_DIFF_ELT
#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
* -------------------------- */
/* 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
* ---------------------------------- */
/* 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
/* check for a recent version of gas */
/* 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
when the .align directive demands to insert extra space in the text
@ -69,32 +76,30 @@
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
#endif
/* Profiling routines, partially copied from i386/osfrose.h. */
/* Redefine this to use %eax instead of %edx. */
/* 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) \
{ \
if (flag_pic) \
{ \
fprintf (FILE, "\tcall mcount@PLT\n"); \
} \
else \
{ \
fprintf (FILE, "\tcall mcount\n"); \
} \
}
fputs(flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
/* aout-i386-openbsd does not handle dwarf2 unwinds and initialization info
correctly. */
/* 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
* ---------------------------------- */
/* 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.
This is used to align code labels according to Intel recommendations. */
This will be used to align code labels according to Intel
recommendations, in prevision of binutils upgrade. */
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
do { \
@ -104,5 +109,4 @@
} while (0)
#endif
/* We pick up ASM_OUTPUT_MI_THUNK from unix.h */
/* Note that we pick up ASM_OUTPUT_MI_THUNK from unix.h. */

View File

@ -1,5 +1,5 @@
/* GCC configuration for OpenBSD Mips ABI32 */
/* $OpenBSD: openbsd.h,v 1.1 1999/01/18 10:23:26 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.2 1999/02/06 16:31:15 espie Exp $ */
/* Default mips is little endian, unless otherwise specified */
@ -9,7 +9,7 @@
/* Get generic openbsd definitions */
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_OBJECT_NAME
#define OBSD_HAS_DECLARE_OBJECT
#include <openbsd.h>

View File

@ -1,8 +1,27 @@
/* $OpenBSD: openbsd.h,v 1.9 1999/02/04 13:21:13 espie Exp $ */
/* vi:ts=8:
*/
/* $OpenBSD: openbsd.h,v 1.10 1999/02/06 16:31:14 espie Exp $ */
/* common OpenBSD configuration. */
/* common OpenBSD configuration.
All OpenBSD architectures include this file, which is intended as
a repository for common defines.
Some defines are common to all architectures, a few of them are
triggered by OBSD_* guards, so that we won't override architecture
defaults by mistakes.
OBSD_HAS_CORRECT_SPECS:
another mechanism provides correct specs already.
OBSD_NO_DYNAMIC_LIBRARIES:
no implementation of dynamic libraries.
OBSD_OLD_GAS:
older flavor of gas which needs help for PIC.
OBSD_HAS_DECLARE_FUNCTION_NAME, OBSD_HAS_DECLARE_FUNCTION_SIZE,
OBSD_HAS_DECLARE_OBJECT:
PIC support, FUNCTION_NAME/FUNCTION_SIZE are independent, whereas
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.
*/
/* OPENBSD_NATIVE is defined only when gcc is configured as part of
the OpenBSD source tree, specifically through Makefile.bsd-wrapper.
@ -33,9 +52,11 @@
#endif
#ifndef OBSD_HAS_CORRECT_SPECS
/* Controlling the compilation driver
* ---------------------------------- */
#ifndef OBSD_HAS_CORRECT_SPECS
#ifndef OBSD_NO_DYNAMIC_LIBRARIES
#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
@ -43,11 +64,13 @@
|| (CHAR) == 'R')
#endif
/* CPP_SPEC appropriate for OpenBSD. We deal with -posix and -pthread */
/* 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.
*/
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
#ifdef OBSD_OLD_GAS
/* ASM_SPEC appropriate for OpenBSD. For some architectures, OpenBSD
still uses a special flavor of gas that needs to be told when generating
@ -62,7 +85,6 @@
#endif
#endif
/* LINK_SPEC appropriate for OpenBSD. Support for GCC options
-static, -assert, and -nostdlib. */
#undef LINK_SPEC
@ -76,46 +98,40 @@
/* 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
*/
Basically, -lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
#undef LIB_SPEC
#define LIB_SPEC "-lc%{pthread:_r}%{p:_p}%{!p:%{pg:_p}}"
#endif
/* Runtime target specification
* ---------------------------- */
/* You must redefine CPP_PREDEFINES in any arch specific file */
/* You must redefine CPP_PREDEFINES in any arch specific file. */
#undef CPP_PREDEFINES
/* recent snapshots of egcs use a correct call to mkstemps,
and define MKTEMP_EACH_FILE appropriately. */
#undef MKTEMP_EACH_FILE
/* Implicit calls to library routines
* ---------------------------------- */
/* Use memcpy and memset instead of bcopy and bzero */
/* Use memcpy and memset instead of bcopy and bzero. */
#define TARGET_MEM_FUNCTIONS
/* Miscellaneous parameters
* ------------------------ */
/* tell libgcc2.c that OpenBSD targets support atexit */
/* tell libgcc2.c that OpenBSD targets support atexit. */
#define HAVE_ATEXIT
/* 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
/* Support of shared libraries, mostly imported from svr4.h through netbsd. */
/* Two differences from svr4.h:
- we use . - _func instead of a local label,
- we put extra spaces in expressions such as
.type _func , @function
This is more readable for a human being and confuses c++filt less.
*/
/* These macros are needed for correct pic code generation, but they
should not break anything even if that specific system does not yet handle
dynamic libraries. */
This is more readable for a human being and confuses c++filt less. */
/* Assembler format: output and generation of labels
* ------------------------------------------------- */
@ -139,8 +155,8 @@
#undef TYPE_OPERAND_FMT
#define TYPE_OPERAND_FMT "@%s"
/* Provision if extra assembler code is needed to declare a function's result.
*/
/* Provision if extra assembler code is needed to declare a function's result
(taken from svr4, not needed yet actually). */
#ifndef ASM_DECLARE_RESULT
#define ASM_DECLARE_RESULT(FILE, RESULT)
#endif
@ -183,7 +199,7 @@
} while (0)
#endif
#ifndef OBSD_HAS_DECLARE_OBJECT_NAME
#ifndef OBSD_HAS_DECLARE_OBJECT
/* Extra assembler code needed to declare an object properly. */
#undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
@ -233,8 +249,8 @@ do { \
before including this file. */
/* Tell the assembler that a symbol is weak. */
/* XXX binutils assembler should make weak labels global itself. If you
need to emit a .globl here, it's likely your assembler is broken. */
/* Note: netbsd arm32 assembler needs a .globl here. An override may
be needed when/if we go for arm32 support. */
#ifndef ASM_WEAKEN_LABEL
#define ASM_WEAKEN_LABEL(FILE,NAME) \
do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
@ -249,6 +265,8 @@ do { \
#endif
/* Storage layout
* -------------- */
/* Use VTABLE_THUNKS always: we don't have to worry about binary
compatibility with older C++ code. */
#define DEFAULT_VTABLE_THUNKS 1

View File

@ -1,11 +1,11 @@
/* OpenBSD specific configuration for rs6000 */
#include "rs6000/sysv4.h"
#include <rs6000/sysv4.h>
#define OBSD_HAS_CORRECT_SPECS
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
#define OBSD_HAS_DECLARE_OBJECT_NAME
#define OBSD_HAS_DECLARE_OBJECT
#include <openbsd.h>
/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL */