patches/gcc/4.4.3/170-sparc64-bsd.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:05:18 2011 +0200 (2011-03-28)
changeset 2362 0888065f8c4d
parent 1611 e2516bba8fe5
permissions -rw-r--r--
cc/gcc: cleanup the _or_later logic

So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1393
     1
diff -durN gcc-4.4.0.orig/gcc/config/sparc/freebsd.h gcc-4.4.0/gcc/config/sparc/freebsd.h
yann@1393
     2
--- gcc-4.4.0.orig/gcc/config/sparc/freebsd.h	2007-08-02 12:49:31.000000000 +0200
yann@1393
     3
+++ gcc-4.4.0/gcc/config/sparc/freebsd.h	2009-05-27 21:38:16.000000000 +0200
yann@1393
     4
@@ -25,9 +25,22 @@
yann@1393
     5
 /* FreeBSD needs the platform name (sparc64) defined.
yann@1393
     6
    Emacs needs to know if the arch is 64 or 32-bits.  */
yann@1393
     7
 
yann@1393
     8
-#undef  CPP_CPU64_DEFAULT_SPEC
yann@1393
     9
-#define CPP_CPU64_DEFAULT_SPEC \
yann@1393
    10
-  "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
yann@1393
    11
+#undef  FBSD_TARGET_CPU_CPP_BUILTINS
yann@1393
    12
+#define FBSD_TARGET_CPU_CPP_BUILTINS()                  \
yann@1393
    13
+  do                                                    \
yann@1393
    14
+    {                                                   \
yann@1393
    15
+      if (TARGET_ARCH64)                                \
yann@1393
    16
+        {                                               \
yann@1393
    17
+          builtin_define ("__sparc64__");               \
yann@1393
    18
+          builtin_define ("__sparc_v9__");              \
yann@1393
    19
+          builtin_define ("__sparcv9");                 \
yann@1393
    20
+        }                                               \
yann@1393
    21
+      else                                              \
yann@1393
    22
+        builtin_define ("__sparc");                     \
yann@1393
    23
+      builtin_define ("__sparc__");                     \
yann@1393
    24
+    }                                                   \
yann@1393
    25
+  while (0)
yann@1393
    26
+
yann@1393
    27
 
yann@1393
    28
 #define LINK_SPEC "%(link_arch)						\
yann@1393
    29
   %{!mno-relax:%{!r:-relax}}						\