pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/gcc49 Fix __stack_chk_fail_local undefined error ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/4998f9cb3058
branches:  trunk
changeset: 370303:4998f9cb3058
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Sat Oct 14 14:46:00 2017 +0000

description:
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:

 lang/gcc49/Makefile                      |   4 ++--
 lang/gcc49/distinfo                      |   3 ++-
 lang/gcc49/patches/patch-gcc_targhooks.c |  26 ++++++++++++++++++++++++++
 3 files changed, 30 insertions(+), 3 deletions(-)

diffs (65 lines):

diff -r 35a6b09fa098 -r 4998f9cb3058 lang/gcc49/Makefile
--- a/lang/gcc49/Makefile       Sat Oct 14 13:36:52 2017 +0000
+++ b/lang/gcc49/Makefile       Sat Oct 14 14:46:00 2017 +0000
@@ -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 @@
 ## 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 -r 35a6b09fa098 -r 4998f9cb3058 lang/gcc49/distinfo
--- a/lang/gcc49/distinfo       Sat Oct 14 13:36:52 2017 +0000
+++ b/lang/gcc49/distinfo       Sat Oct 14 14:46:00 2017 +0000
@@ -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_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 -r 35a6b09fa098 -r 4998f9cb3058 lang/gcc49/patches/patch-gcc_targhooks.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc49/patches/patch-gcc_targhooks.c  Sat Oct 14 14:46:00 2017 +0000
@@ -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;
+     }



Home | Main Index | Thread Index | Old Index