aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>1999-06-03 23:19:02 +0000
committerJeff Law <law@gcc.gnu.org>1999-06-03 17:19:02 -0600
commitb132bf372a2fe8920adf268129d9e582f5df6f09 (patch)
tree064fcff0317ea5f6992e7bcd77d87161d6dee94f
parent149911d4eab272a6cc9db09830b41de9dab689ce (diff)
downloadgcc-b132bf372a2fe8920adf268129d9e582f5df6f09.zip
gcc-b132bf372a2fe8920adf268129d9e582f5df6f09.tar.gz
gcc-b132bf372a2fe8920adf268129d9e582f5df6f09.tar.bz2
freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define.
* freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define. (STARTFILE_SPEC): Define, override the svr4.h version. (ENDFILE_SPEC): Likewise. From-SVN: r27340
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/freebsd-elf.h25
2 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2bc8284..97e0c9d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Fri Jun 4 00:12:40 1999 Marc Espie <espie@cvs.openbsd.org>
+
+ * freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define.
+ (STARTFILE_SPEC): Define, override the svr4.h version.
+ (ENDFILE_SPEC): Likewise.
+
Thu Jun 3 23:58:55 1999 Jeffrey A Law (law@cygnus.com)
* fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
diff --git a/gcc/config/i386/freebsd-elf.h b/gcc/config/i386/freebsd-elf.h
index 5668d3e..c74ae99 100644
--- a/gcc/config/i386/freebsd-elf.h
+++ b/gcc/config/i386/freebsd-elf.h
@@ -180,12 +180,37 @@ Boston, MA 02111-1307, USA. */
-z* options (for the linker) (comming from svr4).
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
+#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|| (CHAR) == 'h' \
|| (CHAR) == 'z' \
|| (CHAR) == 'R')
+/* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
+ the magical crtbegin.o file (see crtstuff.c) which provides part
+ of the support for getting C++ file-scope static object constructed
+ before entering `main'. */
+
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC \
+ "%{!shared: \
+ %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
+ %{!p:%{profile:gcrt1.o%s} \
+ %{!profile:crt1.o%s}}}} \
+ crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
+
+/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
+ the magical crtend.o file (see crtstuff.c) which provides part of
+ the support for getting C++ file-scope static object constructed
+ before entering `main', followed by a normal "finalizer" file,
+ `crtn.o'. */
+
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+
+
#undef LIB_SPEC
#if 1
/* We no longer link with libc_p.a or libg.a by default. If you