diff options
author | David O'Brien <obrien@FreeBSD.org> | 1999-06-02 00:08:20 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-06-01 18:08:20 -0600 |
commit | d0550c9b301ea97c735ea5e503848f155c7747a5 (patch) | |
tree | 698bc976bc30ff34007699ec57efd0021e2241f7 /gcc/config | |
parent | 2f9929812a5a4a5594b7b41e19868e3300758504 (diff) | |
download | gcc-d0550c9b301ea97c735ea5e503848f155c7747a5.tar.gz |
configure.in (i[34567]86-*-freebsdelf): Don't include linux.h, i386/freebsd-elf.h no longer requires it.
* configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
i386/freebsd-elf.h no longer requires it. Instead include svr4.h.
* configure: Rebuilt.
* i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
(ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
(PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
(SWITCH_TAKES_ARG): Likewise.
* i386/freebsd.h: Remove FREEBSD_NATIVE support.
* config/t-freebsd: Moved from config/i386/ so it can used for all
FreeBSD targets.
From-SVN: r27305
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/freebsd-elf.h | 36 | ||||
-rw-r--r-- | gcc/config/i386/freebsd.h | 27 | ||||
-rw-r--r-- | gcc/config/t-freebsd (renamed from gcc/config/i386/t-freebsd) | 1 |
3 files changed, 36 insertions, 28 deletions
diff --git a/gcc/config/i386/freebsd-elf.h b/gcc/config/i386/freebsd-elf.h index 35ea674ccd8..5668d3ef0ca 100644 --- a/gcc/config/i386/freebsd-elf.h +++ b/gcc/config/i386/freebsd-elf.h @@ -3,6 +3,7 @@ Contributed by Eric Youngdale. Modified for stabs-in-ELF by H.J. Lu. Adapted from GNU/Linux version by John Polstra. + Continued development by David O'Brien <obrien@freebsd.org> This file is part of GNU CC. @@ -34,6 +35,23 @@ Boston, MA 02111-1307, USA. */ libraries compiled with the native cc, so undef it. */ #undef NO_DOLLAR_IN_LABEL +/* Use more efficient ``thunks'' to implement C++ vtables. */ +#undef DEFAULT_VTABLE_THUNKS +#define DEFAULT_VTABLE_THUNKS 1 + +/* Override the default comment-starter of "/". */ +#undef ASM_COMMENT_START +#define ASM_COMMENT_START "#" + +#undef ASM_APP_ON +#define ASM_APP_ON "#APP\n" + +#undef ASM_APP_OFF +#define ASM_APP_OFF "#NO_APP\n" + +#undef SET_ASM_OP +#define SET_ASM_OP ".set" + /* This is 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. */ @@ -45,6 +63,10 @@ Boston, MA 02111-1307, USA. */ necessary when compiling PIC code. */ #define JUMP_TABLES_IN_TEXT_SECTION (flag_pic) +/* Use stabs instead of DWARF debug format. */ +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + /* Copy this from the svr4 specifications... */ /* Define the register numbers to be used in Dwarf debugging information. The SVR4 reference port C compiler uses the following register numbers @@ -140,6 +162,9 @@ Boston, MA 02111-1307, USA. */ #undef WCHAR_TYPE #define WCHAR_TYPE "int" + +#undef WCHAR_UNSIGNED +#define WCHAR_UNSIGNED 0 #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE BITS_PER_WORD @@ -150,6 +175,17 @@ Boston, MA 02111-1307, USA. */ #undef CPP_SPEC #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}" +/* This defines which switch letters take arguments. On FreeBSD, most of + the normal cases (defined in gcc.c) apply, and we also have -h* and + -z* options (for the linker) (comming from svr4). + We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ + +#define SWITCH_TAKES_ARG(CHAR) \ + (DEFAULT_SWITCH_TAKES_ARG (CHAR) \ + || (CHAR) == 'h' \ + || (CHAR) == 'z' \ + || (CHAR) == 'R') + #undef LIB_SPEC #if 1 /* We no longer link with libc_p.a or libg.a by default. If you diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h index 52302222ae3..89fe21623a9 100644 --- a/gcc/config/i386/freebsd.h +++ b/gcc/config/i386/freebsd.h @@ -245,30 +245,3 @@ do { \ #define STARTFILE_SPEC \ "%{shared:c++rt0.o%s} \ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}" - -/* This is defined when gcc is compiled in the BSD-directory-tree, and must - * make up for the gap to all the stuff done in the GNU-makefiles. - */ - -#ifdef FREEBSD_NATIVE - -#define INCLUDE_DEFAULTS { \ - { "/usr/include", 0, 0, 0 }, \ - { "/usr/include/g++", "G++", 1, 1 }, \ - { 0, 0, 0, 0} \ - } - -#undef MD_EXEC_PREFIX -#define MD_EXEC_PREFIX "/usr/libexec/" - -#undef STANDARD_STARTFILE_PREFIX -#define STANDARD_STARTFILE_PREFIX "/usr/lib" - -#if 0 /* This is very wrong!!! */ -#define DEFAULT_TARGET_MACHINE "i386-unknown-freebsd_1.0" -#define GPLUSPLUS_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" -#define TOOL_INCLUDE_DIR "/usr/local/i386-unknown-freebsd_1.0/include" -#define GCC_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" -#endif - -#endif /* FREEBSD_NATIVE */ diff --git a/gcc/config/i386/t-freebsd b/gcc/config/t-freebsd index 5164669d1ac..99816863429 100644 --- a/gcc/config/i386/t-freebsd +++ b/gcc/config/t-freebsd @@ -2,4 +2,3 @@ STMP_FIXPROTO = # Use only native include files USER_H = $(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS) - |