diff options
Diffstat (limited to 'lang/gcc46')
-rw-r--r-- | lang/gcc46/distinfo | 4 | ||||
-rw-r--r-- | lang/gcc46/hacks.mk | 10 | ||||
-rw-r--r-- | lang/gcc46/patches/patch-gcc_config_arm_elf.h | 14 | ||||
-rw-r--r-- | lang/gcc46/patches/patch-gcc_config_arm_t-netbsd | 19 |
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 |