diff options
author | pho <pho@pkgsrc.org> | 2014-05-08 10:14:46 +0000 |
---|---|---|
committer | pho <pho@pkgsrc.org> | 2014-05-08 10:14:46 +0000 |
commit | 542ce75cf135eb9b4c01141870f396ffc6e9a087 (patch) | |
tree | 8277f1ed27691887b1e3f4e2e8971ca08de7d265 /lang/gcc45 | |
parent | cc18335b6dc8a9d014e305d975ad3eb0c765a9cb (diff) | |
download | pkgsrc-542ce75cf135eb9b4c01141870f396ffc6e9a087.tar.gz |
Darwin: Fix an issue that gcc producing binaries linked with a wrong libgcc_s
If we don't install libgcc_s.10.[45].dylib, our gcc links binaries
with *both* /usr/lib/libgcc_s.1.dylib and
${GCC_PREFIX}/lib/libgcc_s.1.dylib, which is certainly a bad thing.
The problem was already reported to the upstream but it caught
seemingly no attention:
http://gcc.gnu.org/ml/gcc-help/2010-07/msg00164.html
Diffstat (limited to 'lang/gcc45')
-rw-r--r-- | lang/gcc45/distinfo | 3 | ||||
-rw-r--r-- | lang/gcc45/patches/patch-libgcc_config_t-slibgcc-darwin | 26 |
2 files changed, 28 insertions, 1 deletions
diff --git a/lang/gcc45/distinfo b/lang/gcc45/distinfo index c503ba9af69..0e616a37c2c 100644 --- a/lang/gcc45/distinfo +++ b/lang/gcc45/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.9 2014/05/08 02:03:58 pho Exp $ +$NetBSD: distinfo,v 1.10 2014/05/08 10:14:46 pho Exp $ SHA1 (gcc-4.5.3.tar.bz2) = 73c45dfda5eef6b124be53e56828b5925198cc1b RMD160 (gcc-4.5.3.tar.bz2) = d07aa90f2186b4e082dfd5ad5d5188c097fb6247 @@ -15,5 +15,6 @@ SHA1 (patch-ak) = 3d8a859ba436a4b204bb99f59cd5331d695aa811 SHA1 (patch-gcc_doc_cppopts.texi) = fba9b651bdef12f9034e75cb43533b50c2c94540 SHA1 (patch-gcc_doc_generic.texi) = b255fb30f889a415318a29c50ac0510ccece0bc4 SHA1 (patch-gcc_doc_invoke.texi) = 7418eddc7e4d39fab3da1922ff86965240661fb4 +SHA1 (patch-libgcc_config_t-slibgcc-darwin) = 2ddda2dd979f27c623e47db70c5abb3befdb68c9 SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = e328bc56bbb9c3e0a76c8d98a7c0a7b8b8eda22e SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = 38dd700202d741de1eeee01c44eee6e2e363b9c5 diff --git a/lang/gcc45/patches/patch-libgcc_config_t-slibgcc-darwin b/lang/gcc45/patches/patch-libgcc_config_t-slibgcc-darwin new file mode 100644 index 00000000000..d786fb45240 --- /dev/null +++ b/lang/gcc45/patches/patch-libgcc_config_t-slibgcc-darwin @@ -0,0 +1,26 @@ +$NetBSD: patch-libgcc_config_t-slibgcc-darwin,v 1.1 2014/05/08 10:14:46 pho Exp $ + +If we don't install libgcc_s.10.[45].dylib, our gcc links binaries +with *both* /usr/lib/libgcc_s.1.dylib and +${GCC_PREFIX}/lib/libgcc_s.1.dylib, which is certainly a bad thing. + +The problem was already reported to the upstream but it caught +seemingly no attention: +http://gcc.gnu.org/ml/gcc-help/2010-07/msg00164.html + +--- libgcc/config/t-slibgcc-darwin.orig 2010-02-02 08:18:48.000000000 +0000 ++++ libgcc/config/t-slibgcc-darwin +@@ -26,13 +26,7 @@ SHLIB_MKMAP = $(gcc_srcdir)/mkmap-flat.a + SHLIB_MKMAP_OPTS = -v leading_underscore=1 + SHLIB_MAPFILES += $(gcc_srcdir)/libgcc-std.ver $(gcc_srcdir)/libgcc-libsystem.ver + +-# we're only going to build the stubs if the target slib is /usr/lib +-# there is no other case in which they're useful in a live system. +-ifeq (/usr/lib,$(shlib_slibdir)) + LGCC_STUBS = libgcc_s.10.4.dylib libgcc_s.10.5.dylib +-else +-LGCC_STUBS = +-endif + + LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) + LGCC_FILES += $(LGCC_STUBS) |