summaryrefslogtreecommitdiff
path: root/patches/gcc/4.3.0/225-sparc64-bsd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/4.3.0/225-sparc64-bsd.patch')
-rw-r--r--patches/gcc/4.3.0/225-sparc64-bsd.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/patches/gcc/4.3.0/225-sparc64-bsd.patch b/patches/gcc/4.3.0/225-sparc64-bsd.patch
new file mode 100644
index 0000000..7c4fb5d
--- /dev/null
+++ b/patches/gcc/4.3.0/225-sparc64-bsd.patch
@@ -0,0 +1,30 @@
+Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/14_all_gcc-sparc64-bsd.patch
+diff -durN gcc-4.3.0.orig/gcc/config/sparc/freebsd.h gcc-4.3.0/gcc/config/sparc/freebsd.h
+--- gcc-4.3.0.orig/gcc/config/sparc/freebsd.h 2007-08-02 12:49:31.000000000 +0200
++++ gcc-4.3.0/gcc/config/sparc/freebsd.h 2008-06-10 14:44:26.000000000 +0200
+@@ -25,9 +25,22 @@
+ /* 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}} \