41 lines
1.7 KiB
Diff
41 lines
1.7 KiB
Diff
|
|
# 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.
|
|
|