aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorS. Lockwood-Childs <sjl@vctlabs.com>2018-11-28 10:06:12 +0000
committerAnthony G. Basile <blueness@gentoo.org>2018-12-02 13:03:14 -0500
commit64b082fca0c39bcfbeeeb6c08a7e201eac004893 (patch)
treed26b87066fe2efe3a7c8e54aeba8e8b6dcf1149a /dev-lang
parentsys-auth/polkit: bump version to 0.115 (diff)
downloadmusl-64b082fca0c39bcfbeeeb6c08a7e201eac004893.tar.gz
musl-64b082fca0c39bcfbeeeb6c08a7e201eac004893.tar.bz2
musl-64b082fca0c39bcfbeeeb6c08a7e201eac004893.zip
dev-lang/spidermonkey: fix runtime relocation error
polkitd executable from sys-auth/polkit-0.115-r1 was failing to run with error: Error relocating /usr/lib/libmozjs-52.so: _ZN2js16TlsPerThreadDataE: symbol not found demangled equivalent to "_ZN2js16TlsPerThreadDataE" being js::PerThreadData, which was a hidden symbol according to readelf readelf -s usr/lib/libmozjs-52.so | grep Tls | c++filt 1: 00000004 4 TLS LOCAL HIDDEN 17 js::TlsPerThreadData Fix such runtime errors by switching thread-local data to default visibility. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-threadlocal.patch14
-rw-r--r--dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild1
2 files changed, 15 insertions, 0 deletions
diff --git a/dev-lang/spidermonkey/files/spidermonkey-threadlocal.patch b/dev-lang/spidermonkey/files/spidermonkey-threadlocal.patch
new file mode 100644
index 0000000..3658c41
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-threadlocal.patch
@@ -0,0 +1,14 @@
+Fixes:
+ Error relocating /usr/lib/libmozjs-52.so: _ZN2js16TlsPerThreadDataE: symbol not found
+
+--- mozjs-52.9.1pre1/mfbt/ThreadLocal.h.orig 2018-11-28 09:48:43.746859132 +0000
++++ mozjs-52.9.1pre1/mfbt/ThreadLocal.h 2018-11-28 09:48:45.930897382 +0000
+@@ -211,7 +211,7 @@
+ }
+
+ #ifdef MOZ_HAS_THREAD_LOCAL
+-#define MOZ_THREAD_LOCAL(TYPE) __thread mozilla::detail::ThreadLocal<TYPE>
++#define MOZ_THREAD_LOCAL(TYPE) MOZ_EXPORT __thread mozilla::detail::ThreadLocal<TYPE>
+ #else
+ #define MOZ_THREAD_LOCAL(TYPE) mozilla::detail::ThreadLocal<TYPE>
+ #endif
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
index 4030338..7f5ec3c 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
@@ -50,6 +50,7 @@ src_prepare() {
eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
use elibc_musl && eapply "${FILESDIR}"/${PN}-musl.patch
+ use elibc_musl && eapply "${FILESDIR}"/${PN}-threadlocal.patch
eapply_user