aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/icecat-binutils.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/icecat-binutils.patch')
-rw-r--r--gnu/packages/patches/icecat-binutils.patch40
1 files changed, 40 insertions, 0 deletions
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 <jb999@gmx.de>
+# 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.
+