Use native TLS on all architectures except aarch64
Update mingw-w64 to the latest version, where native TLS works with LLVM/LLD.
This commit is contained in:
1 parent
edcf22bec4
commit
0ce2f55a89
2 files changed
+13
-8
No files matched your search
+1
-1
@@ -46,7 +46,7 @@ RUN cd llvm && mkdir build && cd build && cmake \
|
||||
|
||||
RUN git clone git://git.code.sf.net/p/mingw-w64/mingw-w64 && \
|
||||
cd mingw-w64 && \
|
||||
git checkout 124a62c7cc32909b7c6c57e901579de48e3a35d8
|
||||
git checkout f25c9a89ed2b2d98bc2658cfa4dc97a2c837c725
|
||||
|
||||
|
||||
ENV TOOLCHAIN_PREFIX=/build/prefix
|
||||
|
||||
@@ -9,16 +9,21 @@ i686)
|
||||
# Dwarf is the default for i686, but currently there's an issue
|
||||
# in libunwind with unwinding clang generated dwarf opcodes on 32 bit
|
||||
# x86, pending resolution at https://reviews.llvm.org/D38680.
|
||||
EH_FLAG=-fsjlj-exceptions
|
||||
;;
|
||||
armv7|aarch64)
|
||||
# Dwarf is the default for these targets.
|
||||
EH_FLAG=
|
||||
ARCH_FLAGS=-fsjlj-exceptions
|
||||
;;
|
||||
x86_64)
|
||||
# Explicitly request dwarf on x86_64; SEH is the default there but
|
||||
# libcxxabi lacks support for it.
|
||||
EH_FLAG=-fdwarf-exceptions
|
||||
ARCH_FLAGS=-fdwarf-exceptions
|
||||
;;
|
||||
armv7)
|
||||
# Dwarf is the default here.
|
||||
ARCH_FLAGS=
|
||||
;;
|
||||
aarch64)
|
||||
# Dwarf is the default on aarch64; enable emulated TLS since native
|
||||
# TLS isn't implemented yet.
|
||||
ARCH_FLAGS=-femulated-tls
|
||||
;;
|
||||
esac
|
||||
$DIR/$EXE -target $TARGET -rtlib=compiler-rt -stdlib=libc++ -fuse-ld=lld $EH_FLAG -Qunused-arguments -femulated-tls "$@"
|
||||
$DIR/$EXE -target $TARGET -rtlib=compiler-rt -stdlib=libc++ -fuse-ld=lld $ARCH_FLAGS -Qunused-arguments "$@"
|
||||
Reference in new issue
Block a user