From 40330e555f2548d738fbcfac6fa5d80ab1bb2eb2 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 31 Oct 2016 04:03:14 -0400 Subject: gnu: icecat: Fix build with binutils >= 2.26. * gnu/packages/patches/icecat-binutils.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnuzilla.scm (icecat)[source]: Use it. --- gnu/packages/patches/icecat-binutils.patch | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 gnu/packages/patches/icecat-binutils.patch (limited to 'gnu/packages/patches/icecat-binutils.patch') diff --git a/gnu/packages/patches/icecat-binutils.patch b/gnu/packages/patches/icecat-binutils.patch new file mode 100644 index 0000000000..53a3ed9bb0 --- /dev/null +++ b/gnu/packages/patches/icecat-binutils.patch @@ -0,0 +1,40 @@ + +# HG changeset patch +# User J. Brown +# Date 1476951900 14400 +# Node ID cca249d09ef600650e6127c18be438a37e9d4587 +# Parent d8bbf1a3957fd25ff24bfee51331c150b154cc39 +Bug 1242901 - Fix linking libxul.so with binutils/GNU ld >= 2.26. r=glandium + +The build fails with: + + /usr/bin/ld: ../../xpcom/components/nsComponentManager.o: relocation R_386_GOTOFF against protected data `start_kPStaticModules_NSModule' can not be used when making a shared object + /usr/bin/ld: final link failed: Bad value + collect2: error: ld returned 1 exit status + +This is a patch from 2016/04/27 16:36:50 ryoon found on +http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/firefox45/patches/#dirlist. + +diff --git a/xpcom/components/Module.h b/xpcom/components/Module.h +--- a/xpcom/components/Module.h ++++ b/xpcom/components/Module.h +@@ -133,17 +133,17 @@ struct Module + #if defined(MOZILLA_INTERNAL_API) + # define NSMODULE_NAME(_name) _name##_NSModule + # if defined(_MSC_VER) + # pragma section(".kPStaticModules$M", read) + # pragma comment(linker, "/merge:.kPStaticModules=.rdata") + # define NSMODULE_SECTION __declspec(allocate(".kPStaticModules$M"), dllexport) + # elif defined(__GNUC__) + # if defined(__ELF__) +-# define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("protected"))) ++# define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("default"))) + # elif defined(__MACH__) + # define NSMODULE_SECTION __attribute__((section("__DATA, .kPStaticModules"), visibility("default"))) + # elif defined (_WIN32) + # define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), dllexport)) + # endif + # endif + # if !defined(NSMODULE_SECTION) + # error Do not know how to define sections. + -- cgit 1.4.1