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 && \
|
RUN git clone git://git.code.sf.net/p/mingw-w64/mingw-w64 && \
|
||||||
cd mingw-w64 && \
|
cd mingw-w64 && \
|
||||||
git checkout 124a62c7cc32909b7c6c57e901579de48e3a35d8
|
git checkout f25c9a89ed2b2d98bc2658cfa4dc97a2c837c725
|
||||||
|
|
||||||
|
|
||||||
ENV TOOLCHAIN_PREFIX=/build/prefix
|
ENV TOOLCHAIN_PREFIX=/build/prefix
|
||||||
|
|||||||
@@ -9,16 +9,21 @@ i686)
|
|||||||
# Dwarf is the default for i686, but currently there's an issue
|
# Dwarf is the default for i686, but currently there's an issue
|
||||||
# in libunwind with unwinding clang generated dwarf opcodes on 32 bit
|
# in libunwind with unwinding clang generated dwarf opcodes on 32 bit
|
||||||
# x86, pending resolution at https://reviews.llvm.org/D38680.
|
# x86, pending resolution at https://reviews.llvm.org/D38680.
|
||||||
EH_FLAG=-fsjlj-exceptions
|
ARCH_FLAGS=-fsjlj-exceptions
|
||||||
;;
|
|
||||||
armv7|aarch64)
|
|
||||||
# Dwarf is the default for these targets.
|
|
||||||
EH_FLAG=
|
|
||||||
;;
|
;;
|
||||||
x86_64)
|
x86_64)
|
||||||
# Explicitly request dwarf on x86_64; SEH is the default there but
|
# Explicitly request dwarf on x86_64; SEH is the default there but
|
||||||
# libcxxabi lacks support for it.
|
# 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
|
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