Martin Storsjö
666a26307d
Revert "Mention the fact that binutils can't use the generated import libraries"
...
This reverts commit 9367988be7 .
binutils actually can handle the short import format just fine.
It only has got issues with base mingw import libraries that contain
symbol aliases (which in llvm-dlltool is implemented via weak
symbols, and linking to weak symbols differ a bit between lld and
binutils ld).
2019-03-24 22:16:08 +02:00
Martin Storsjö
4e58a5a9a0
Update llvm/clang/lld to a recent version
...
Since the previous pinned version, there was one fix relevant for
windows on aarch64.
2019-03-19 09:44:01 +02:00
Martin Storsjö
b3ff7b278d
Update libcxx to the 8.0 release version
...
libunwind and libcxxabi are kept at the previously pinned versions, past
the 8.0 branch.
2019-03-19 09:40:46 +02:00
Martin Storsjö
f39d45162e
Update compiler-rt to the 8.0 release version
...
This doesn't fix any particular known issue, but the release branch
should generally be a safe version.
2019-03-19 09:34:19 +02:00
Martin Storsjö
b9e0685167
Update mingw-w64 to the latest version from today
2019-03-19 00:30:54 +02:00
Martin Storsjö
4a7cb27899
Don't error out if git-svn is unavailable
...
This should avoid leaving the llvm tree checked out at a version other
than the pinned one, if git-svn failed or wasn't available.
2019-03-16 10:53:00 +02:00
Martin Storsjö
005b8efd91
Allow building a full llvm install
2019-03-15 23:56:18 +02:00
Martin Storsjö
25c3bd8593
Set LLVM_COMPILER_CHECKED when bootstrapping libunwind/libcxxabi/libcxx
...
The checks behind LLVM_COMPILER_CHECKED fail if there's no libc++
available for linking.
This fixes building libunwind/libcxxabi/libcxx with newer versions
of llvm, if the llvm installation isn't stripped.
2019-03-15 23:53:20 +02:00
Steve Lhomme
975ed24984
tests: set the output folder in one variable
...
And use it everywhere
2019-03-12 10:42:43 +02:00
Steve Lhomme
d3b256c7be
test: ignore more generated files
2019-03-12 10:42:43 +02:00
Steve Lhomme
3de09f9e25
tests: don't run using wine on mingw
2019-03-12 10:41:42 +02:00
Martin Storsjö
4b537369ca
Add more proper references to dwarf issues on i686
2019-03-01 10:28:00 +02:00
Martin Storsjö
a8064cfdb5
Install the sanitizer headers
2019-02-22 22:34:54 +02:00
Martin Storsjö
7c891a036d
Don't point libunwind to the libcxx include directory
...
This is no longer necessary.
2019-01-30 09:19:47 +02:00
Martin Storsjö
2ccb0d5975
Update libunwind to the latest version
...
This version drops the dependency on standard C++ library headers.
2019-01-30 09:19:38 +02:00
Martin Storsjö
6cab2bca42
Update libunwind to the latest version
...
This version fixes restoring of float registers for armv7, when using
dwarf exceptions (which we use by default).
2019-01-29 11:01:10 +02:00
Martin Storsjö
68aa79a99b
Create the prefixless objcopy/strip tools from an executable
...
This is necessary since 62b208aee2 .
2019-01-24 13:46:08 +02:00
Martin Storsjö
5f56f7694b
Display the output filename after packaging the cross built toolchain
2019-01-24 13:25:16 +02:00
Martin Storsjö
56506a5c6e
Avoid warnings when building libcxxabi due to redefining _LIBCPP_BUILDING_LIBRARY
...
Some libcxxabi source files define _LIBCPP_BUILDING_LIBRARY themselves.
A "#define FOO" in a file defines it to "", while "-DFOO" on the command
line defines it to "1". Define it on the command line using "-DFOO=" to
make it match the #define within the source files.
2019-01-24 11:12:17 +02:00
Martin Storsjö
a0d10c51cc
Build libunwind with -Wno-dll-attribute-on-redeclaration
...
libunwind doesn't have the dllexport attributes on the original
declarations of functions, and clang normally warns about this.
2019-01-24 11:12:09 +02:00
Martin Storsjö
371f002680
Revert "Suppress compiler warnings in libunwind/libcxxabi if llvm cmake files are unavailable"
...
This reverts commit 92f301f775 .
With the latest versions of libunwind and libcxxabi, the -w option
for suppressing compiler warnings isn't added any longer when building
with the llvm cmake files available.
2019-01-24 11:11:40 +02:00
Martin Storsjö
bc4dde7cd1
Update libunwind and libcxxabi to the latest versions
...
These versions no longer disable warnings when llvm cmake files
are available, and have got a lot of warnings silenced within the
code.
2019-01-24 11:11:36 +02:00
Martin Storsjö
62b208aee2
Use llvm-objcopy/llvm-strip instead of a shell script wrapper and binutils
2019-01-24 10:58:20 +02:00
Martin Storsjö
78bade5cf1
Build and install llvm-objcopy and llvm-strip
2019-01-24 10:58:20 +02:00
Martin Storsjö
c013ab7548
Update llvm/clang/lld to the latest version
...
In this version, llvm-objcopy has gained support for operating on
COFF object files and executables.
2019-01-24 10:58:20 +02:00
Martin Storsjö
add8d6ee31
Update mingw-w64 to the latest version
...
This fixes issues with the _xgetbv builtin in latest trunk versions
of clang.
2019-01-24 10:58:20 +02:00
Martin Storsjö
da00a0662e
Update libunwind to the latest version
...
This version makes libunwind actually make the SjLj context properly
thread local.
2019-01-18 22:39:26 +02:00
Martin Storsjö
f43d7825e5
Remove the new OptRemarks.dll when stripping the llvm installation
2019-01-04 01:30:26 +02:00
Martin Storsjö
6d9eb8296f
Update llvm/clang/lld
...
This implements the .arch_extension directive for aarch64, and fixes a
regression in the C++ ABI in the previous clang update.
2019-01-03 09:04:43 +02:00
Martin Storsjö
5be98a5cd6
Ignore *.tar.xz and *.zip for docker builds
2019-01-03 09:04:43 +02:00
Martin Storsjö
b9eb66bc1f
Set LIBCXX_INCLUDE_TESTS=FALSE when building libcxx
...
The DLL build fails since we stopped setting LIBCXX_ABI_UNSTABLE=TRUE,
if the tests are enabled (which they are if building against a
non-stripped llvm installation).
2018-12-21 09:42:38 +02:00
Martin Storsjö
585c767ee4
Use llvm-ar with the flag 'L' instead of a helper MRI script for merging archives
2018-12-20 12:11:10 +02:00
Martin Storsjö
52fc6c5c06
Update libunwind to the latest version
...
This version supports SEH unwinding on aarch64.
2018-12-20 12:10:15 +02:00
Martin Storsjö
5004db0de6
Update mingw-w64 to the latest version
...
This fixes symbol availability of __C_specific_handler for
use of SEH on arm64.
2018-12-20 12:10:15 +02:00
Martin Storsjö
04beed38bc
Update llvm/clang/lld
...
This version supports SEH for arm64, fixes certain cases of dllexport
of C++ classes defined entirely in headers (fixing building Qt in
debug mode), and fixes a compiler bug (regression since the end of
August 2018) when compiling glslang (as part of VLC) for armv7.
2018-12-20 12:10:15 +02:00
Hugo Beauzée-Luyssen
07d47e3edd
Bump mingw-w64 hash
...
This version has stubs for RtlCaptureContext which allows using SEH for
windows store
2018-12-13 10:14:01 +01:00
Martin Storsjö
837fee3ce1
Clarify the output of the exception-locale test
2018-12-12 00:07:50 +02:00
Martin Storsjö
1228a03be4
Update libunwind to the latest version, fixing SEH exceptions in certain cases
2018-12-11 13:35:56 +02:00
Martin Storsjö
7e0dbe79bf
Stop building libcxx with LIBCXX_ABI_UNSTABLE=TRUE
...
This didn't seem to actually be necessary, not even in the initial
commit adding support for building a DLL of libcxx. It might have
been necessary at some earlier point while working on building a DLL.
2018-12-06 00:49:25 +02:00
Martin Storsjö
7a86e4ce73
Define _LIBCPP_ABI_UNSTABLE manually when building libcxxabi
...
This is set via a cmake option when building libcxx, but libcxxabi
uses the raw libcxx headers from its include directory before they
are installed.
This fixes cases of inconsistent classes seen while compiling libcxxabi
and libcxx. With potential future patches to clang to adjust how
classes are exported with dllexport, this change is needed to avoid
conflicts.
2018-12-05 13:47:48 +02:00
Martin Storsjö
4d861b67b5
Don't move clang.exe to clang-<major>.exe if clang-<major>.exe already exists
2018-11-30 12:03:09 +02:00
Martin Storsjö
11a83711ad
Check that clang.exe exists before moving it to clang-<major>.exe
2018-11-30 12:03:09 +02:00
Martin Storsjö
32668f336b
Keep clang.exe around if we won't be replacing it with an unprefixed wrapper
2018-11-30 12:03:09 +02:00
Martin Storsjö
e45e9ab98e
Update compiler-rt to a newer version
...
This fixes building sanitizers natively on windows/msys.
2018-11-30 12:03:09 +02:00
Martin Storsjö
1f838437ca
Automatically set EXEEXT in build-mingw-w64.sh and strip-llvm.sh
2018-11-30 12:03:09 +02:00
Martin Storsjö
9e7a6e0afb
Convert msys style paths to windows style in merge-archives.sh
2018-11-30 12:03:09 +02:00
Martin Storsjö
fdd0a116ae
Try to set "MSYS Makefiles" as cmake generator in mingw environments
2018-11-30 12:03:09 +02:00
Martin Storsjö
f9811f258e
Set CMAKE_GENERATOR to the intended generator only, add the -G separately
2018-11-30 12:03:09 +02:00
Martin Storsjö
d294d17053
Create the prefix/triplet/bin directory before installing DLLs in build-libcxx.sh
...
If the triplet directory is wiped and only the build-mingw-w64.sh
step is rerun, the bin subdirectory would be missing, ending up
with a file named "bin", which actually was the libc++ DLL.
2018-11-30 11:37:00 +02:00
Martin Storsjö
53db1c3a4c
Resolve $PREFIX to an absolute path at the start of shell scripts
...
This fixes building/installing into a relative path.
2018-11-23 13:51:05 +02:00