[oe-commits] [openembedded-core] 04/04: mesa: Disable asm on musl

git at git.openembedded.org git at git.openembedded.org
Wed Oct 3 15:32:28 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 27c25de38aacc98fe376422bbbee417b2b45a98e
Author: Khem Raj <raj.khem at gmail.com>
AuthorDate: Tue Oct 2 17:44:05 2018 -0700

    mesa: Disable asm on musl
    
    Musl started blocking dlopen of libs with initial-exec references into
    dynamic TLS area, via
    
    https://github.com/kraj/musl/commit/5c2f46a214fceeee3c3e41700c51415e0a4f1acd
    
    prior to that commit, musl was loading it and silently letting
    subsequent TLS accesses via the miscompiled code clobber memory that
    didn't belong to them
    
    This was wrong behavior and it relied on additional space reserved by
    libc in TLS space to adjust fo such broken libs, but it also fails
    with glibc if the reserved space was already used up
    
    Right fix is that  mesa should be patched to remove all the
    initial-exec hacks and use real TLS, and -mtls-dialect=gnu2 (TLSDESC)
    should be used on archs it's supported on (i386, x86_64, and aarch64)
    to make up for the lost performance, but mesa hardcodes the initial-exec,
    so there must be a reason that probably is better known to mesa devs.
    
    but we 'fixed' it for musl by adding --disable-glx-tls for mesa in OE,
    which uses pthread_getspecific instead and makes is lot slower.
    
    this caused additional problems with security flags on, it get textrels
    in .text segment. Therefore this is 'second fix' to get us through this
    warning.
    
    Cause is some unknown part of mesa's x86 assembly code is broken by
    readonly text segments
    
    [ YOCTO #12918 ]
    
    Signed-off-by: Khem Raj <raj.khem at gmail.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/recipes-graphics/mesa/mesa.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 8d0e2cb..0dfdfbd 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -108,6 +108,8 @@ PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind"
 
 EXTRA_OECONF_remove_libc-musl = "--enable-glx-tls"
 EXTRA_OECONF_append_libc-musl = " --disable-glx-tls"
+EXTRA_OECONF_append_libc-musl_x86 = " --disable-asm"
+
 # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
 FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer"
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list