pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang x86-64 sunos fix for g++ and -Wl,-Bdirect involvi...
details: https://anonhg.NetBSD.org/pkgsrc/rev/401305949a7f
branches: trunk
changeset: 634176:401305949a7f
user: richard <richard%pkgsrc.org@localhost>
date: Sat May 10 14:14:58 2014 +0000
description:
x86-64 sunos fix for g++ and -Wl,-Bdirect involving libtool
references:http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
backport to gcc47 and gcc48
diffstat:
lang/gcc47-libs/Makefile | 4 +-
lang/gcc47/Makefile | 4 +-
lang/gcc47/distinfo | 7 ++-
lang/gcc47/patches/patch-gcc_config_sol2.h | 26 +++++++++
lang/gcc47/patches/patch-gcc_testsuite_g++.dg_eh_unwind-direct.C | 20 +++++++
lang/gcc47/patches/patch-libgcc_config_t-slibgcc-sld | 28 ++++++++++
lang/gcc47/patches/patch-libgo_config_ltmain.sh | 13 ++++
lang/gcc47/patches/patch-ltmain.sh | 13 ++++
lang/gcc48-libs/Makefile | 4 +-
lang/gcc48/Makefile | 4 +-
lang/gcc48/distinfo | 7 ++-
lang/gcc48/patches/patch-gcc_config_sol2.h | 26 +++++++++
lang/gcc48/patches/patch-gcc_testsuite_g++.dg_eh_unwind-direct.C | 20 +++++++
lang/gcc48/patches/patch-libgcc_config_t-slibgcc-sld | 28 ++++++++++
lang/gcc48/patches/patch-libgo_config_ltmain.sh | 13 ++++
lang/gcc48/patches/patch-ltmain.sh | 13 ++++
16 files changed, 220 insertions(+), 10 deletions(-)
diffs (truncated from 380 to 300 lines):
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47-libs/Makefile
--- a/lang/gcc47-libs/Makefile Sat May 10 13:45:57 2014 +0000
+++ b/lang/gcc47-libs/Makefile Sat May 10 14:14:58 2014 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.16 2013/06/21 09:40:47 jperkin Exp $
+# $NetBSD: Makefile,v 1.17 2014/05/10 14:14:58 richard Exp $
GCC_PKGNAME= gcc47
.include "../../lang/${GCC_PKGNAME}/version.mk"
@@ -8,7 +8,7 @@
## The PKGREVISION of this package needs to be at least 1 more than the
## PKGREVISION of the lang/gcc47 package so that with the dependence pattern
## '{gcc47,gcc47-libs}>=4.7.*' pkg_all will choose gcc47-libs over gcc47.
-PKGREVISION= 3
+PKGREVISION= 4
CATEGORIES= lang
MASTER_SITES= # empty
DISTFILES= # empty
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47/Makefile
--- a/lang/gcc47/Makefile Sat May 10 13:45:57 2014 +0000
+++ b/lang/gcc47/Makefile Sat May 10 14:14:58 2014 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.26 2014/01/14 19:16:52 wiz Exp $
+# $NetBSD: Makefile,v 1.27 2014/05/10 14:14:58 richard Exp $
GCC_PKGNAME= gcc47
.include "version.mk"
@@ -8,7 +8,7 @@
## When bumping the PKGREVISION of this package the PKGREVISION of
## lang/gcc47-libs needs to be bump to be at least 1 more than the
## PKGREVISION of this package!
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC47_DIST_VERSION}/}
EXTRACT_SUFX= .tar.bz2
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47/distinfo
--- a/lang/gcc47/distinfo Sat May 10 13:45:57 2014 +0000
+++ b/lang/gcc47/distinfo Sat May 10 14:14:58 2014 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.20 2014/01/14 19:16:52 wiz Exp $
+$NetBSD: distinfo,v 1.21 2014/05/10 14:14:58 richard Exp $
SHA1 (ecj-4.5.jar) = 58c1d79c64c8cd718550f32a932ccfde8d1e6449
RMD160 (ecj-4.5.jar) = d3f4da657f086b6423f74e93f001132f4855368a
@@ -14,17 +14,21 @@
SHA1 (patch-gcc_config_dragonfly.opt) = 92f615c73c2e94664bae5b5935ab8b09bca15f73
SHA1 (patch-gcc_config_i386_dragonfly.h) = 0d3f785434c02beb9c4561fe59842a970e8f7896
SHA1 (patch-gcc_config_netbsd-stdint.h) = 025fc883101a187e84ed4c0772406720d645d550
+SHA1 (patch-gcc_config_sol2.h) = 4f6ffe871840dcf7e2e469fdcc5d327b9b00f957
SHA1 (patch-gcc_configure) = a4b670d0c54c410d38715b7a2a572a7048e3ec5e
SHA1 (patch-gcc_fortran_f95-lang.c) = 6edd2adc7de0d6db36fc5670535b55f61664f5fd
SHA1 (patch-gcc_gcc.c) = d28e633c8961161562db960054aaa5aa6a1ac645
SHA1 (patch-gcc_ginclude_stddef.h) = 87d7c2ff4400ad0719b2351d2f4c4b05bd257db3
+SHA1 (patch-gcc_testsuite_g++.dg_eh_unwind-direct.C) = fd85ccee102e9618a8010d2dcbb2d9916b28f1cc
SHA1 (patch-include_libiberty.h) = ad2c64e9a14405c89b02ff68811b1c889405d0a1
SHA1 (patch-libgcc_config.host) = 6b54e18c6348c4aeb3fda3093fbe990b59456af7
SHA1 (patch-libgcc_config_i386_dragonfly-unwind.h) = 9d77252dd982495e90f95b82706bab29e581df9f
+SHA1 (patch-libgcc_config_t-slibgcc-sld) = 1b3ae1dc03eaad16a51311049ffc9e42c44dfcbc
SHA1 (patch-libgcc_crtstuff.c) = 88500ea895cd683608f8f2b7177149f11947e3b4
SHA1 (patch-libgcc_unwind-dw2-fde-dip.c) = 6da81a310bc76db3ce88649d42658c748c958800
SHA1 (patch-libgfortran_configure) = b3bbc7d9201073a1bed0b7e10141465bab52c8be
SHA1 (patch-libgo_Makefile.in) = 612987541f745c7be6835ce7fb7119884db294c3
+SHA1 (patch-libgo_config_ltmain.sh) = 703a27554e479cc2e48410a6bb0e5f5b4be2c150
SHA1 (patch-libgo_runtime_proc.c) = 55b2c449f4d43fe9b6d7ca1c7f075feebca8ebd6
SHA1 (patch-libjava_boehm.cc) = b18bc9d410a62543583c77e011f50b86f41ca18a
SHA1 (patch-libjava_configure) = 48ea2baffe87e09dda8133d286bd9b1bfe4c3f8a
@@ -40,3 +44,4 @@
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 830038744cbbb713ecc3f960a9509bef16176db9
SHA1 (patch-libstdc++-v3_configure) = 7aa0c5fea3b446657aa27f603d99ea50ed1e44c1
SHA1 (patch-libstdc++-v3_configure.host) = 7426ea4a9735e5f886f4a3ffb4a9ba62734178c4
+SHA1 (patch-ltmain.sh) = 86c1511bd8ff133ba208ec8ec7e206d77ce85d01
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47/patches/patch-gcc_config_sol2.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc47/patches/patch-gcc_config_sol2.h Sat May 10 14:14:58 2014 +0000
@@ -0,0 +1,26 @@
+$NetBSD: patch-gcc_config_sol2.h,v 1.1 2014/05/10 14:14:58 richard Exp $
+
+--- gcc/config/sol2.h.orig 2011-08-18 14:47:46.000000000 +0000
++++ gcc/config/sol2.h
+@@ -166,12 +166,20 @@ along with GCC; see the file COPYING3.
+ #define RDYNAMIC_SPEC "--export-dynamic"
+ #endif
+
++#ifndef USE_GLD
++/* With Sun ld, use mapfile to enforce direct binding to libgcc_s unwinder. */
++#define LINK_LIBGCC_MAPFILE_SPEC "-M %slibgcc-unwind.map"
++#else
++/* GNU ld doesn't support direct binding. */
++#define LINK_LIBGCC_MAPFILE_SPEC ""
++#endif
++
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+ "%{h*} %{v:-V} \
+ %{!shared:%{!static:%{rdynamic: " RDYNAMIC_SPEC "}}} \
+ %{static:-dn -Bstatic} \
+- %{shared:-G -dy %{!mimpure-text:-z text}} \
++ %{shared:-G -dy %{!mimpure-text:-z text} " LINK_LIBGCC_MAPFILE_SPEC "} \
+ %{symbolic:-Bsymbolic -G -dy -z text} \
+ %{pthreads|pthread|fprofile-generate*:" LIB_THREAD_LDFLAGS_SPEC "} \
+ %(link_arch) \
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47/patches/patch-gcc_testsuite_g++.dg_eh_unwind-direct.C
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc47/patches/patch-gcc_testsuite_g++.dg_eh_unwind-direct.C Sat May 10 14:14:58 2014 +0000
@@ -0,0 +1,20 @@
+$NetBSD: patch-gcc_testsuite_g++.dg_eh_unwind-direct.C,v 1.1 2014/05/10 14:14:58 richard Exp $
+
+--- gcc/testsuite/g++.dg/eh/unwind-direct.C.orig 2014-01-18 17:52:15.019246553 +0000
++++ gcc/testsuite/g++.dg/eh/unwind-direct.C
+@@ -0,0 +1,15 @@
++// PR target/59788
++// { dg-do run { target { *-*-solaris2* && { ! gld } } } }
++// { dg-options "-Wl,-Bdirect" }
++
++#include <stdexcept>
++
++int
++main(void)
++{
++ try
++ { throw std::runtime_error( "Catch me if you can!"); }
++ catch(...)
++ { return 0; }
++ return 1;
++}
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47/patches/patch-libgcc_config_t-slibgcc-sld
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc47/patches/patch-libgcc_config_t-slibgcc-sld Sat May 10 14:14:58 2014 +0000
@@ -0,0 +1,28 @@
+$NetBSD: patch-libgcc_config_t-slibgcc-sld,v 1.1 2014/05/10 14:14:58 richard Exp $
+
+--- libgcc/config/t-slibgcc-sld.orig 2011-06-01 14:39:17.000000000 +0000
++++ libgcc/config/t-slibgcc-sld
+@@ -3,3 +3,23 @@
+
+ SHLIB_LDFLAGS = -Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs \
+ -Wl,-M,$(SHLIB_MAP)
++
++# Linker mapfile to enforce direct binding to libgcc_s unwinder
++# (PR target/59788).
++libgcc-unwind.map: libgcc-std.ver
++ @(echo "{"; \
++ for f in `grep _Unwind_ $< | sort`; do \
++ echo " $$f = EXTERN DIRECT;"; \
++ done; \
++ echo "};" ) > $@
++
++# Copy libgcc-unwind.map to the place where gcc will look for it at build-time.
++install-libgcc-unwind-map-forbuild: libgcc-unwind.map
++ $(INSTALL_DATA) $< $(gcc_objdir)
++
++all: install-libgcc-unwind-map-forbuild
++
++install-libgcc-unwind-map: libgcc-unwind.map
++ $(INSTALL_DATA) $< $(DESTDIR)$(slibdir)
++
++install: install-libgcc-unwind-map
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47/patches/patch-libgo_config_ltmain.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc47/patches/patch-libgo_config_ltmain.sh Sat May 10 14:14:58 2014 +0000
@@ -0,0 +1,13 @@
+$NetBSD: patch-libgo_config_ltmain.sh,v 1.1 2014/05/10 14:14:58 richard Exp $
+
+--- libgo/config/ltmain.sh.orig 2010-11-12 20:52:54.000000000 +0000
++++ libgo/config/ltmain.sh
+@@ -976,7 +976,7 @@ func_enable_tag ()
+
+
+ case $host in
+- *cygwin* | *mingw* | *pw32* | *cegcc*)
++ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* )
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc47/patches/patch-ltmain.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc47/patches/patch-ltmain.sh Sat May 10 14:14:58 2014 +0000
@@ -0,0 +1,13 @@
+$NetBSD: patch-ltmain.sh,v 1.1 2014/05/10 14:14:58 richard Exp $
+
+--- ltmain.sh.orig 2011-01-13 18:51:10.000000000 +0000
++++ ltmain.sh
+@@ -976,7 +976,7 @@ func_enable_tag ()
+
+
+ case $host in
+- *cygwin* | *mingw* | *pw32* | *cegcc*)
++ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* )
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc48-libs/Makefile
--- a/lang/gcc48-libs/Makefile Sat May 10 13:45:57 2014 +0000
+++ b/lang/gcc48-libs/Makefile Sat May 10 14:14:58 2014 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.12 2014/04/23 11:05:21 ryoon Exp $
+# $NetBSD: Makefile,v 1.13 2014/05/10 14:14:59 richard Exp $
PKGNAME= ${GCC_PKGNAME}-libs-${GCC48_DIST_VERSION}
-PKGREVISION= 4
+PKGREVISION= 5
COMMENT= Runtime libraries from the GNU Compiler Collection (GCC) 4.8
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc48/Makefile
--- a/lang/gcc48/Makefile Sat May 10 13:45:57 2014 +0000
+++ b/lang/gcc48/Makefile Sat May 10 14:14:58 2014 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.12 2014/04/22 20:46:41 ryoon Exp $
+# $NetBSD: Makefile,v 1.13 2014/05/10 14:14:58 richard Exp $
GCC_PKGNAME= gcc48
.include "version.mk"
@@ -8,7 +8,7 @@
## When bumping the PKGREVISION of this package the PKGREVISION of
## lang/gcc48-libs needs to be bump to be at least 1 more than the
## PKGREVISION of this package!
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC48_DIST_VERSION}/}
EXTRACT_SUFX= .tar.bz2
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc48/distinfo
--- a/lang/gcc48/distinfo Sat May 10 13:45:57 2014 +0000
+++ b/lang/gcc48/distinfo Sat May 10 14:14:58 2014 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2014/04/22 20:46:41 ryoon Exp $
+$NetBSD: distinfo,v 1.16 2014/05/10 14:14:58 richard Exp $
SHA1 (ecj-4.5.jar) = 58c1d79c64c8cd718550f32a932ccfde8d1e6449
RMD160 (ecj-4.5.jar) = d3f4da657f086b6423f74e93f001132f4855368a
@@ -18,18 +18,22 @@
SHA1 (patch-gcc_config_host-netbsd.c) = 8f13b09dd7006d456cd1c66e895be504e9537880
SHA1 (patch-gcc_config_i386_dragonfly.h) = 0d3f785434c02beb9c4561fe59842a970e8f7896
SHA1 (patch-gcc_config_netbsd-stdint.h) = 025fc883101a187e84ed4c0772406720d645d550
+SHA1 (patch-gcc_config_sol2.h) = de6455ee88f281737501287759b7a83b8db05398
SHA1 (patch-gcc_config_x-netbsd) = 6dc3d78e26df62054ea29f98ca51592858e671e3
SHA1 (patch-gcc_configure) = a4b670d0c54c410d38715b7a2a572a7048e3ec5e
SHA1 (patch-gcc_fortran_f95-lang.c) = 945aacf6b307f2120a4105c833b45a40feced68e
SHA1 (patch-gcc_ggc-common.c) = fa577bc25260d7e6304f166686ba51c0b677d7f6
SHA1 (patch-gcc_ginclude_stddef.h) = 220ec23aecffca81337ae4c06afc18051da89b9a
SHA1 (patch-gcc_system.h) = 4c959a6b1c4d524cbdf44cfb80f0e5758ec20783
+SHA1 (patch-gcc_testsuite_g++.dg_eh_unwind-direct.C) = fd85ccee102e9618a8010d2dcbb2d9916b28f1cc
SHA1 (patch-include_libiberty.h) = ad2c64e9a14405c89b02ff68811b1c889405d0a1
SHA1 (patch-libgcc_config.host) = 1807e784c9808243d1a99b19534d94752d81ce6d
SHA1 (patch-libgcc_config_i386_dragonfly-unwind.h) = 9d77252dd982495e90f95b82706bab29e581df9f
+SHA1 (patch-libgcc_config_t-slibgcc-sld) = 1b3ae1dc03eaad16a51311049ffc9e42c44dfcbc
SHA1 (patch-libgcc_crtstuff.c) = 88500ea895cd683608f8f2b7177149f11947e3b4
SHA1 (patch-libgcc_unwind-dw2-fde-dip.c) = 770f04f3cbeb0d794fa297b328f06f6e687419c0
SHA1 (patch-libgo_Makefile.in) = 612987541f745c7be6835ce7fb7119884db294c3
+SHA1 (patch-libgo_config_ltmain.sh) = 703a27554e479cc2e48410a6bb0e5f5b4be2c150
SHA1 (patch-libjava_boehm.cc) = b18bc9d410a62543583c77e011f50b86f41ca18a
SHA1 (patch-libjava_configure) = 9c83d60e155d6a9aac542d65ff195a99c5c764ff
SHA1 (patch-libjava_contrib_rebuild-gcj-db.in) = bb01d738fc7db05046ae37e8ade32574de1d8297
@@ -46,3 +50,4 @@
SHA1 (patch-libstdc++-v3_configure) = 3821275fa698221d7665ea3c98b0a24f33954a5a
SHA1 (patch-libstdc++-v3_configure.host) = 7426ea4a9735e5f886f4a3ffb4a9ba62734178c4
SHA1 (patch-libstdc++-v3_libsupc++_unwind-cxx.h) = 9784bfa4323f8498b36565d0fea28fce69ffdbb1
+SHA1 (patch-ltmain.sh) = 86c1511bd8ff133ba208ec8ec7e206d77ce85d01
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc48/patches/patch-gcc_config_sol2.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc48/patches/patch-gcc_config_sol2.h Sat May 10 14:14:58 2014 +0000
@@ -0,0 +1,26 @@
+$NetBSD: patch-gcc_config_sol2.h,v 1.1 2014/05/10 14:14:59 richard Exp $
+
+--- gcc/config/sol2.h.orig 2013-01-10 20:38:27.000000000 +0000
++++ gcc/config/sol2.h
+@@ -171,12 +171,20 @@ along with GCC; see the file COPYING3.
+ #define RDYNAMIC_SPEC "--export-dynamic"
+ #endif
+
++#ifndef USE_GLD
++/* With Sun ld, use mapfile to enforce direct binding to libgcc_s unwinder. */
++#define LINK_LIBGCC_MAPFILE_SPEC "-M %slibgcc-unwind.map"
++#else
++/* GNU ld doesn't support direct binding. */
++#define LINK_LIBGCC_MAPFILE_SPEC ""
++#endif
++
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+ "%{h*} %{v:-V} \
+ %{!shared:%{!static:%{rdynamic: " RDYNAMIC_SPEC "}}} \
+ %{static:-dn -Bstatic} \
+- %{shared:-G -dy %{!mimpure-text:-z text}} \
++ %{shared:-G -dy %{!mimpure-text:-z text} " LINK_LIBGCC_MAPFILE_SPEC "} \
+ %{symbolic:-Bsymbolic -G -dy -z text} \
+ %(link_arch) \
+ %{Qy:} %{!Qn:-Qy}"
diff -r ca1d7ccc6f52 -r 401305949a7f lang/gcc48/patches/patch-gcc_testsuite_g++.dg_eh_unwind-direct.C
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc48/patches/patch-gcc_testsuite_g++.dg_eh_unwind-direct.C Sat May 10 14:14:58 2014 +0000
@@ -0,0 +1,20 @@
+$NetBSD: patch-gcc_testsuite_g++.dg_eh_unwind-direct.C,v 1.1 2014/05/10 14:14:59 richard Exp $
+
+--- gcc/testsuite/g++.dg/eh/unwind-direct.C.orig 2014-01-18 17:52:15.019246553 +0000
++++ gcc/testsuite/g++.dg/eh/unwind-direct.C
+@@ -0,0 +1,15 @@
++// PR target/59788
Home |
Main Index |
Thread Index |
Old Index