summaryrefslogtreecommitdiffstats
path: root/lang/gcc28/files/patch-02
blob: e141d3a567145889d6c3e5025226514af2797963 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
--- config/i386/freebsd.h.orig	Fri Dec  5 04:15:34 1997
+++ config/i386/freebsd.h	Sun Apr 27 15:12:42 2003
@@ -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}"
@@ -176,7 +186,7 @@
    done.  */
 
 #undef	LINK_SPEC
-#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
+#define LINK_SPEC "%{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
OpenPOWER on IntegriCloud