summaryrefslogtreecommitdiffstats
path: root/patches/gcc-4.3.2/generic/gentoo/14_all_gcc-sparc64-bsd.patch
blob: e2d0ee117511e2e1557521744eac558fd76bb734 (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
---
 gcc/config/sparc/freebsd.h |   19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

Index: gcc-4.3.1/gcc/config/sparc/freebsd.h
===================================================================
--- gcc-4.3.1.orig/gcc/config/sparc/freebsd.h
+++ gcc-4.3.1/gcc/config/sparc/freebsd.h
@@ -25,9 +25,22 @@ along with GCC; see the file COPYING3.  
 /* FreeBSD needs the platform name (sparc64) defined.
    Emacs needs to know if the arch is 64 or 32-bits.  */
 
-#undef  CPP_CPU64_DEFAULT_SPEC
-#define CPP_CPU64_DEFAULT_SPEC \
-  "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
+#undef  FBSD_TARGET_CPU_CPP_BUILTINS
+#define FBSD_TARGET_CPU_CPP_BUILTINS()                  \
+  do                                                    \
+    {                                                   \
+      if (TARGET_ARCH64)                                \
+        {                                               \
+          builtin_define ("__sparc64__");               \
+          builtin_define ("__sparc_v9__");              \
+          builtin_define ("__sparcv9");                 \
+        }                                               \
+      else                                              \
+        builtin_define ("__sparc");                     \
+      builtin_define ("__sparc__");                     \
+    }                                                   \
+  while (0)
+
 
 #define LINK_SPEC "%(link_arch)						\
   %{!mno-relax:%{!r:-relax}}						\