From d0550c9b301ea97c735ea5e503848f155c7747a5 Mon Sep 17 00:00:00 2001 From: David O'Brien Date: Wed, 2 Jun 1999 00:08:20 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 13 ++++++++++++ gcc/config/i386/freebsd-elf.h | 36 +++++++++++++++++++++++++++++++++ gcc/config/i386/freebsd.h | 27 ------------------------- gcc/config/{i386 => }/t-freebsd | 1 - gcc/configure | 6 +++--- gcc/configure.in | 6 +++--- 6 files changed, 55 insertions(+), 34 deletions(-) rename gcc/config/{i386 => }/t-freebsd (99%) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c0a7929799ca..38bf6992fb7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +Wed Jun 2 00:52:34 1999 David O'Brien + + * 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. + Mon May 31 02:22:55 1999 Philippe De Muyter * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o. diff --git a/gcc/config/i386/freebsd-elf.h b/gcc/config/i386/freebsd-elf.h index 35ea674ccd86..5668d3ef0ca1 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 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 52302222ae3f..89fe21623a96 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 similarity index 99% rename from gcc/config/i386/t-freebsd rename to gcc/config/t-freebsd index 5164669d1ace..998168634298 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) - diff --git a/gcc/configure b/gcc/configure index aa43c5a1e3a4..dacbe34ba064 100755 --- a/gcc/configure +++ b/gcc/configure @@ -3537,16 +3537,16 @@ for machine in $build $host $target; do # use_collect2=yes ;; i[34567]86-*-freebsdelf*) - tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h" + tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" - tmake_file=i386/t-freebsd + tmake_file=t-freebsd gas=yes gnu_ld=yes stabs=yes ;; i[34567]86-*-freebsd*) tm_file=i386/freebsd.h - tmake_file=i386/t-freebsd + tmake_file=t-freebsd ;; i[34567]86-*-netbsd*) tm_file=i386/netbsd.h diff --git a/gcc/configure.in b/gcc/configure.in index a5c0d6dc31ac..2b0b9c2a7505 100644 --- a/gcc/configure.in +++ b/gcc/configure.in @@ -1138,9 +1138,9 @@ changequote([,])dnl changequote(,)dnl i[34567]86-*-freebsdelf*) changequote([,])dnl - tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h" + tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" - tmake_file=i386/t-freebsd + tmake_file=t-freebsd gas=yes gnu_ld=yes stabs=yes @@ -1149,7 +1149,7 @@ changequote(,)dnl i[34567]86-*-freebsd*) changequote([,])dnl tm_file=i386/freebsd.h - tmake_file=i386/t-freebsd + tmake_file=t-freebsd ;; changequote(,)dnl i[34567]86-*-netbsd*) -- 2.39.5