aboutsummaryrefslogtreecommitdiff
path: root/lang/llvm-gcc4
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2011-04-29 15:04:30 +0000
committerBrooks Davis <brooks@FreeBSD.org>2011-04-29 15:04:30 +0000
commit67a685856f2e834cb9774126a29f926d92cfe827 (patch)
treef3651b6346ae785cf5848f99e712a3db9f7f9171 /lang/llvm-gcc4
parentea1558e3ac4c96c10e7b0d171d03bf82ece0e130 (diff)
downloadports-67a685856f2e834cb9774126a29f926d92cfe827.tar.gz
ports-67a685856f2e834cb9774126a29f926d92cfe827.zip
Notes
Diffstat (limited to 'lang/llvm-gcc4')
-rw-r--r--lang/llvm-gcc4/Makefile2
-rw-r--r--lang/llvm-gcc4/distinfo5
-rw-r--r--lang/llvm-gcc4/files/patch-.._gcc_common.opt16
-rw-r--r--lang/llvm-gcc4/files/patch-.._gcc_config.gcc31
-rw-r--r--lang/llvm-gcc4/files/patch-.._gcc_config_i386_i386.c11
-rw-r--r--lang/llvm-gcc4/files/patch-.._gcc_gthr-posix.h35
6 files changed, 96 insertions, 4 deletions
diff --git a/lang/llvm-gcc4/Makefile b/lang/llvm-gcc4/Makefile
index bf0ff00e3f09..8affd42d48e9 100644
--- a/lang/llvm-gcc4/Makefile
+++ b/lang/llvm-gcc4/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= gcc4
-PORTVERSION= 2.8
+PORTVERSION= 2.9
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/
PKGNAMEPREFIX= llvm-
diff --git a/lang/llvm-gcc4/distinfo b/lang/llvm-gcc4/distinfo
index 5e4c0ca0c1f5..9312812cf3a8 100644
--- a/lang/llvm-gcc4/distinfo
+++ b/lang/llvm-gcc4/distinfo
@@ -1,3 +1,2 @@
-MD5 (llvm-gcc-4.2-2.8.source.tgz) = e5b0569f5f018086c62201d87e161154
-SHA256 (llvm-gcc-4.2-2.8.source.tgz) = 04785a0031c1aa1e3a89926ac6a069c96276074ea711958306b8bf96d9d49e4d
-SIZE (llvm-gcc-4.2-2.8.source.tgz) = 55748118
+SHA256 (llvm-gcc-4.2-2.9.source.tgz) = 2ad04e0bbedb9781aa068e216d455b92ba5e577db6ae24aef9ac449cb2eb7f54
+SIZE (llvm-gcc-4.2-2.9.source.tgz) = 53637392
diff --git a/lang/llvm-gcc4/files/patch-.._gcc_common.opt b/lang/llvm-gcc4/files/patch-.._gcc_common.opt
new file mode 100644
index 000000000000..22cdc80ddb4f
--- /dev/null
+++ b/lang/llvm-gcc4/files/patch-.._gcc_common.opt
@@ -0,0 +1,16 @@
+
+$FreeBSD$
+
+--- ../gcc/common.opt.orig
++++ ../gcc/common.opt
+@@ -730,8 +730,8 @@
+
+ ; APPLE LOCAL begin optimization pragmas 3124235/3420242
+ fmath-errno
+-Common Report Var(flag_errno_math) Init(1) PerFunc
+-Set errno after built-in math functions
++Common Report Var(flag_errno_math) Init(0) PerFunc
++FreeBSD does not set errno after built-in math functions
+ ; APPLE LOCAL end optimization pragmas 3124235/3420242
+
+ fmem-report
diff --git a/lang/llvm-gcc4/files/patch-.._gcc_config.gcc b/lang/llvm-gcc4/files/patch-.._gcc_config.gcc
new file mode 100644
index 000000000000..092883adc7a2
--- /dev/null
+++ b/lang/llvm-gcc4/files/patch-.._gcc_config.gcc
@@ -0,0 +1,31 @@
+--- ../gcc/config.gcc.orig 2011-02-23 22:07:15.000000000 +0000
++++ ../gcc/config.gcc 2011-02-24 10:11:03.000000000 +0000
+@@ -1131,9 +1131,11 @@
+ ;;
+ i[34567]86-*-freebsd*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
++ tmake_file="$(tmake_file) i386/t-crtstuff"
+ ;;
+ x86_64-*-freebsd*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
++ tmake_file="$(tmake_file) i386/t-crtstuff"
+ ;;
+ i[34567]86-*-netbsdelf*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
+@@ -2629,6 +2631,16 @@
+ # A Cirrus ARM variant.
+ with_cpu="ep9312"
+ ;;
++ i386-*-freebsd*)
++ if test $fbsd_major -ge 6; then
++ arch=i486
++ else
++ arch=i386
++ fi
++ cpu=generic
++ arch_without_sse2=yes
++ arch_without_64bit=yes
++ ;;
+ # APPLE LOCAL begin mainline 2006-04-19 4434601
+ i386-*-*)
+ with_cpu=i386
diff --git a/lang/llvm-gcc4/files/patch-.._gcc_config_i386_i386.c b/lang/llvm-gcc4/files/patch-.._gcc_config_i386_i386.c
new file mode 100644
index 000000000000..28c5e57b8d69
--- /dev/null
+++ b/lang/llvm-gcc4/files/patch-.._gcc_config_i386_i386.c
@@ -0,0 +1,11 @@
+--- ../gcc/config/i386/i386.c.orig 2011-02-20 21:45:59.000000000 +0000
++++ ../gcc/config/i386/i386.c 2011-02-20 21:47:35.000000000 +0000
+@@ -1762,7 +1762,7 @@
+ "-mtune=generic instead as appropriate.");
+
+ if (!ix86_arch_string)
+- ix86_arch_string = TARGET_64BIT ? "x86-64" : "i386";
++ ix86_arch_string = TARGET_64BIT ? "x86-64" : "i486";
+ /* APPLE LOCAL begin mainline */
+ else
+ ix86_arch_specified = 1;
diff --git a/lang/llvm-gcc4/files/patch-.._gcc_gthr-posix.h b/lang/llvm-gcc4/files/patch-.._gcc_gthr-posix.h
new file mode 100644
index 000000000000..6f8f3dd0a15a
--- /dev/null
+++ b/lang/llvm-gcc4/files/patch-.._gcc_gthr-posix.h
@@ -0,0 +1,35 @@
+--- ../gcc/gthr-posix.h 2007/08/14 02:45:23 171825
++++ ../gcc/gthr-posix.h 2008/04/21 20:40:42 178388
+@@ -152,9 +152,12 @@
+ it is passed so we cannot pretend that the interface is active if -pthreads
+ is not specified. On Solaris 2.5.1, the interface is not exposed at all so
+ we need to play the usual game with weak symbols. On Solaris 10 and up, a
+- working interface is always exposed. */
++ working interface is always exposed. On FreeBSD 6 and later, libc also
++ exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up
++ to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc,
++ which means the alternate __gthread_active_p below cannot be used there. */
+
+-#if defined(__sun) && defined(__svr4__)
++#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__))
+
+ static volatile int __gthread_active = -1;
+
+@@ -197,7 +200,7 @@
+ return __gthread_active_latest_value != 0;
+ }
+
+-#else /* not Solaris */
++#else /* neither FreeBSD nor Solaris */
+
+ static inline int
+ __gthread_active_p (void)
+@@ -207,7 +210,7 @@
+ return __gthread_active_ptr != 0;
+ }
+
+-#endif /* Solaris */
++#endif /* FreeBSD or Solaris */
+
+ #else /* not SUPPORTS_WEAK */
+