diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-08-14 11:34:40 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-15 09:44:33 +0100 |
commit | aa5987c943cf1e452698eba95dcdab4d0e369248 (patch) | |
tree | 7b320de0e40616fef25ad68d9e0dcbf577437204 /meta | |
parent | 79d72d9045ec077da3804c6691eec32941b1a053 (diff) | |
download | poky-aa5987c943cf1e452698eba95dcdab4d0e369248.tar.gz |
mesa: Disble TLS for musl
See https://bugs.freedesktop.org/show_bug.cgi?id=35268
mesa should infact stop using __attribute__((tls_model("initial-exec")))
until then we disale TLS in glx for musl
The problem could happen even on glibc if static TLS sizes are large enough
which would mean that additional space the glibc leaves for such rogue libraries
get consumed and then same problems show up there as well
Fixes errors seen in xorg logs e.g.
(EE) Failed to load /usr/lib/xorg/modules/extensions/libglx.so: Error relocating /usr/lib/libGL.so.1: _ITM_deregisterTMCloneTable: initial-exec TLS resolves to dynamic definition in /usr/lib/libGL.so.1
enable readonly text segment on x86 for musl
(From OE-Core rev: f3a59540d0d1f7ab42ba7cb5ff1a26ac3a8a9f68)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-graphics/mesa/mesa.inc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 945272507a..6aedeee9dc 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc | |||
@@ -36,6 +36,7 @@ export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}" | |||
36 | export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config" | 36 | export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config" |
37 | EXTRA_OECONF = "--enable-shared-glapi \ | 37 | EXTRA_OECONF = "--enable-shared-glapi \ |
38 | --disable-opencl \ | 38 | --disable-opencl \ |
39 | --enable-glx-read-only-text \ | ||
39 | PYTHON2=python2 \ | 40 | PYTHON2=python2 \ |
40 | --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \ | 41 | --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \ |
41 | --with-platforms='${PLATFORMS}'" | 42 | --with-platforms='${PLATFORMS}'" |
@@ -102,11 +103,12 @@ PACKAGECONFIG[osmesa] = "--enable-${OSMESA},--disable-${OSMESA}" | |||
102 | 103 | ||
103 | PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" | 104 | PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" |
104 | 105 | ||
106 | EXTRA_OECONF_remove_libc-musl = "--enable-glx-tls" | ||
107 | EXTRA_OECONF_append_libc-musl = " --disable-glx-tls" | ||
105 | # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) | 108 | # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) |
106 | FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" | 109 | FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" |
107 | 110 | ||
108 | CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" | 111 | CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" |
109 | |||
110 | EXTRA_OEMAKE += "WAYLAND_PROTOCOLS_DATADIR=${STAGING_DATADIR}/wayland-protocols" | 112 | EXTRA_OEMAKE += "WAYLAND_PROTOCOLS_DATADIR=${STAGING_DATADIR}/wayland-protocols" |
111 | 113 | ||
112 | # Remove the mesa dependency on mesa-dev, as mesa is empty | 114 | # Remove the mesa dependency on mesa-dev, as mesa is empty |