summaryrefslogtreecommitdiff
path: root/lang/gcc46
diff options
context:
space:
mode:
authorjmcneill <jmcneill>2013-04-02 22:31:40 +0000
committerjmcneill <jmcneill>2013-04-02 22:31:40 +0000
commit646727a23dcb63267825354c8184ee7fec18ab82 (patch)
tree010a7e4bf4e3b356e905ae3bf62ff40dd21eca5f /lang/gcc46
parent03a3f49641bbfb3d92e9140e4bcf5d43e1253543 (diff)
downloadpkgsrc-646727a23dcb63267825354c8184ee7fec18ab82.tar.gz
Fix arm build.
Diffstat (limited to 'lang/gcc46')
-rw-r--r--lang/gcc46/distinfo4
-rw-r--r--lang/gcc46/hacks.mk10
-rw-r--r--lang/gcc46/patches/patch-gcc_config_arm_elf.h14
-rw-r--r--lang/gcc46/patches/patch-gcc_config_arm_t-netbsd19
4 files changed, 46 insertions, 1 deletions
diff --git a/lang/gcc46/distinfo b/lang/gcc46/distinfo
index b2709aed6c9..dc5962096a9 100644
--- a/lang/gcc46/distinfo
+++ b/lang/gcc46/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2012/06/08 15:42:29 joerg Exp $
+$NetBSD: distinfo,v 1.12 2013/04/02 22:31:40 jmcneill Exp $
SHA1 (gcc-4.6.3.tar.bz2) = ce317ca5c8185b58bc9300182b534608c578637f
RMD160 (gcc-4.6.3.tar.bz2) = 9abb2f940d08fc84f2d91b6a6ce8d662ca889269
@@ -12,4 +12,6 @@ SHA1 (patch-ag) = 1753d08075de8527d8f14afc3df4afeacb10d507
SHA1 (patch-ah) = 8df9292331e68a69481aaabc894f285199a7eb05
SHA1 (patch-ak) = 377d6ab5d454f0af2709680dd656f0449228aca9
SHA1 (patch-al) = 20d16fba8c1b9e578c9df6523397e29a94409990
+SHA1 (patch-gcc_config_arm_elf.h) = 28c67bb698ebe9a3aa45c4cff29f028c82cc7606
+SHA1 (patch-gcc_config_arm_t-netbsd) = a1682f4f8dc7e393446f19f615737ddfc98fcb7f
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = 10bc7a2bad0367c3e13c71606beca429029d098a
diff --git a/lang/gcc46/hacks.mk b/lang/gcc46/hacks.mk
new file mode 100644
index 00000000000..8b0585e6cb2
--- /dev/null
+++ b/lang/gcc46/hacks.mk
@@ -0,0 +1,10 @@
+# $NetBSD: hacks.mk,v 1.1 2013/04/02 22:31:40 jmcneill Exp $
+
+#
+# Avoid -fkeep-inline-functions with NetBSD/arm
+#
+.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "arm"
+PKG_HACKS+= netbsd-arm-stage1-fix
+USE_LANGUAGES+= c c++
+CONFIGURE_ARGS+= --enable-build-with-cxx
+.endif
diff --git a/lang/gcc46/patches/patch-gcc_config_arm_elf.h b/lang/gcc46/patches/patch-gcc_config_arm_elf.h
new file mode 100644
index 00000000000..f0b45d24b62
--- /dev/null
+++ b/lang/gcc46/patches/patch-gcc_config_arm_elf.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-gcc_config_arm_elf.h,v 1.1 2013/04/02 22:31:40 jmcneill Exp $
+
+--- gcc/config/arm/elf.h.orig 2009-06-21 20:48:15.000000000 +0000
++++ gcc/config/arm/elf.h
+@@ -161,6 +161,9 @@
+ #undef L_floatdidf
+ #undef L_floatdisf
+ #undef L_floatundidf
++/* XXXMRG: don't take this out, we need it! */
++# ifndef __NetBSD__
+ #undef L_floatundisf
++# endif
+ #endif
+
diff --git a/lang/gcc46/patches/patch-gcc_config_arm_t-netbsd b/lang/gcc46/patches/patch-gcc_config_arm_t-netbsd
new file mode 100644
index 00000000000..94d1b4003b9
--- /dev/null
+++ b/lang/gcc46/patches/patch-gcc_config_arm_t-netbsd
@@ -0,0 +1,19 @@
+$NetBSD: patch-gcc_config_arm_t-netbsd,v 1.1 2013/04/02 22:31:40 jmcneill Exp $
+
+--- gcc/config/arm/t-netbsd.orig 2009-04-21 19:03:23.000000000 +0000
++++ gcc/config/arm/t-netbsd
+@@ -23,6 +23,14 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-poi
+ LIBGCC2_DEBUG_CFLAGS = -g0
+ LIB2FUNCS_EXTRA = $(srcdir)/config/floatunsidf.c $(srcdir)/config/floatunsisf.c
+
++# This list is from t-arm-elf, but with some things removed.
++LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
++ _call_via_rX _interwork_call_via_rX \
++ _arm_fixunsdfsi _arm_fixunssfsi \
++ _arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \
++ _lshrdi3 _ashrdi3 _ashldi3 \
++ _clzsi2 _clzdi2
++
+ # Build a shared libgcc library.
+ SHLIB_EXT = .so
+ SHLIB_NAME = @shlib_base_name@.so