summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2017-10-14 14:46:00 +0000
committerryoon <ryoon@pkgsrc.org>2017-10-14 14:46:00 +0000
commit7e5a5c63853bff92659218d4ac5e0760898f7b1a (patch)
tree07984f51b3fa601e9e236cafd95f8885ae758f77 /lang
parentc55f886f04d7394291e785d2a70d645f26500464 (diff)
downloadpkgsrc-7e5a5c63853bff92659218d4ac5e0760898f7b1a.tar.gz
Fix __stack_chk_fail_local undefined error in PIE case, bump PKGREVISION
* Port from NetBSD src Fix __stack_chk_fail_local undefined reference error from "gcc test.c -fstack-protector-all -fPIE". * As a result, pkgsrc/www/firefox build under NetBSD/i386 7.1 is fixed
Diffstat (limited to 'lang')
-rw-r--r--lang/gcc49/Makefile4
-rw-r--r--lang/gcc49/distinfo3
-rw-r--r--lang/gcc49/patches/patch-gcc_targhooks.c26
3 files changed, 30 insertions, 3 deletions
diff --git a/lang/gcc49/Makefile b/lang/gcc49/Makefile
index 8de2fbca3d4..00540312161 100644
--- a/lang/gcc49/Makefile
+++ b/lang/gcc49/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.21 2017/07/28 23:41:51 maya Exp $
+# $NetBSD: Makefile,v 1.22 2017/10/14 14:46:00 ryoon Exp $
GCC_PKGNAME= gcc49
.include "version.mk"
@@ -9,7 +9,7 @@ PKGNAME= ${GCC_PKGNAME}-${GCC49_DIST_VERSION}
## When bumping the PKGREVISION of this package the PKGREVISION of
## lang/gcc49-libs needs to be bump to be at least 1 more than the
## PKGREVISION of this package!
-PKGREVISION= 4
+PKGREVISION= 5
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC49_DIST_VERSION}/}
EXTRACT_SUFX= .tar.bz2
diff --git a/lang/gcc49/distinfo b/lang/gcc49/distinfo
index f9ace309915..1e0770ee20d 100644
--- a/lang/gcc49/distinfo
+++ b/lang/gcc49/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.14 2017/07/28 23:41:51 maya Exp $
+$NetBSD: distinfo,v 1.15 2017/10/14 14:46:00 ryoon Exp $
SHA1 (ecj-4.5.jar) = 58c1d79c64c8cd718550f32a932ccfde8d1e6449
RMD160 (ecj-4.5.jar) = d3f4da657f086b6423f74e93f001132f4855368a
@@ -26,6 +26,7 @@ SHA1 (patch-gcc_fortran_f95-lang.c) = 9dbac16c146821eed9b06e1e9f0da85ff5c4ee75
SHA1 (patch-gcc_ggc-common.c) = fa577bc25260d7e6304f166686ba51c0b677d7f6
SHA1 (patch-gcc_ginclude_stddef.h) = 8af3e4b4058fc623c61e91f5771699f0ce679957
SHA1 (patch-gcc_system.h) = 4c959a6b1c4d524cbdf44cfb80f0e5758ec20783
+SHA1 (patch-gcc_targhooks.c) = ac5bf5f201389f5bb79866d9e0dc93ee28af51f2
SHA1 (patch-include_libiberty.h) = 5254c6a421ae16c71571820f6f07906367f042ba
SHA1 (patch-libcilkrts_runtime_os-unix.c) = 165e736decbc6e0e3d905d418d71cf4873927925
SHA1 (patch-libcilkrts_runtime_signal_node.c) = e12fd7c9f109db568c46e915bd1bae28fae7b95a
diff --git a/lang/gcc49/patches/patch-gcc_targhooks.c b/lang/gcc49/patches/patch-gcc_targhooks.c
new file mode 100644
index 00000000000..6aa68f1cde3
--- /dev/null
+++ b/lang/gcc49/patches/patch-gcc_targhooks.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-gcc_targhooks.c,v 1.1 2017/10/14 14:46:00 ryoon Exp $
+
+* Port from NetBSD src
+ Fix __stack_chk_fail_local undefined reference error
+ from "gcc test.c -fstack-protector-all -fPIE".
+
+--- gcc/targhooks.c.orig 2014-03-03 21:51:58.000000000 +0000
++++ gcc/targhooks.c
+@@ -738,7 +738,17 @@ default_hidden_stack_protect_fail (void)
+ DECL_ARTIFICIAL (t) = 1;
+ DECL_IGNORED_P (t) = 1;
+ DECL_VISIBILITY_SPECIFIED (t) = 1;
++#if defined(__NetBSD__)
++ /*
++ * This is a hack:
++ * It appears that our gas does not generate @PLT for hidden
++ * symbols. It could be that we need a newer version, or that
++ * this local function is handled differently on linux.
++ */
++ DECL_VISIBILITY (t) = VISIBILITY_DEFAULT;
++#else
+ DECL_VISIBILITY (t) = VISIBILITY_HIDDEN;
++#endif
+
+ stack_chk_fail_decl = t;
+ }