Cleaning up configuration, and comments...
This commit is contained in:
parent
dafd993a63
commit
dd9b92c64d
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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>
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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>
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user