freebsd-ports/lang/gcc28/files/patch-02
David E. O'Brien cc11e4e242 Make -fsjlj-exceptions the default (ie, no DWARF2_UNWIND_INFO) for the ELF
case too.

Submitted by:	terry (Thanks to Amancio for identification)
1999-03-22 02:02:13 +00:00

32 lines
1.3 KiB
Plaintext

--- config/i386/freebsd.h.orig Fri Dec 5 04:15:34 1997
+++ config/i386/freebsd.h Sun Mar 21 17:59:06 1999
@@ -26,8 +26,18 @@
/* The svr4 ABI for the i386 says that records and unions are returned
in memory. */
+/* On FreeBSD, we do not. */
#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
+ libraries compiled with the native cc, so undef it. */
+#undef NO_DOLLAR_IN_LABEL
+
+/* FreeBSD using ELF does not support DWARF2 unwinding mechanisms.
+ Thus, need the equivalent of "-fsjlj-exceptions" (use setjmp/longjmp
+ for exceptions). */
+#define DWARF2_UNWIND_INFO 0
/* 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
@@ -140,7 +150,7 @@
#define WCHAR_TYPE_SIZE BITS_PER_WORD
#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__=2 -Asystem(FreeBSD)"
+#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__=3 -Asystem(FreeBSD) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
#undef CPP_SPEC
#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"