Martin Storsjö
4670446157
Install llvm-addr2line
2019-07-01 22:30:24 +03:00
Martin Storsjö
a61af72ca9
Write some sort of msys2 build instructions
2019-06-28 23:31:17 +03:00
Martin Storsjö
60609f0716
Reorder the readme, mention prebuilt toolchains first
2019-06-28 00:15:44 +03:00
Martin Storsjö
0933a30500
Avoid printing an error when rerunning build-compiler-rt.sh on msys2
2019-06-28 00:14:32 +03:00
Martin Storsjö
5f70dd1a1f
Avoid errors when recreating an existing symlink on msys2
...
In this environment, symlinks don't exist but are made as copies.
In such cases, the -n option to ln doesn't work for making this
a no-op.
Alternatively, we could append "|| true", which would print an
error but continue.
2019-06-28 00:13:24 +03:00
Martin Storsjö
c89799c996
Restore the original path before building widl
...
When building on windows, the toolchain bin directory contains
prefixless wrappers named "gcc.exe" and "clang.exe", even though
the toolchain isn't functional yet at this stage. Restore the
original path before building widl.
A more complete solution might be to build widl first, before
adding the newly built toolchain to the path.
2019-06-28 00:12:10 +03:00
Martin Storsjö
f80d067176
Only make the prefixless widl symlink after compiling widl
...
When building in msys2, symlinks are plain copies, and one can't
make the symlink in advance.
2019-06-21 22:52:34 +03:00
Martin Storsjö
7edc154d50
wrappers: Unify comments about exception handling methods.
2019-05-28 15:29:08 +03:00
Martin Storsjö
4811c1f489
wrappers: Stop explicitly requesting SEH for AArch64
...
It is the default exception handling model there now.
2019-05-28 15:27:56 +03:00
Martin Storsjö
9d8339b48d
Update mingw-w64 to the latest version
...
This version fixes deadlocks in winpthreads condvars (in certain
use patterns), uses the _UCRT define to request and signal the
use of UCRT, fixes the UCRT _vsnwprintf function, uses the
CRT's setjmp/longjmp on AArch64 if SEH is in use, and makes the
UCRT set the app type to console properly for such apps.
2019-05-28 13:54:51 +03:00
Martin Storsjö
0d4861fdd3
readme: Document the new implicit pdb output file naming
2019-05-28 00:04:39 +03:00
Martin Storsjö
5623fd232c
wrappers: Remove the ld wrapping of --help and -v
...
The MinGW driver in lld now handle these flags, including the
libtool specific keywords.
2019-05-28 00:04:39 +03:00
Martin Storsjö
0c7aac99ad
Update llvm/clang/lld to the latest version
...
This version adds support for a version of the -pdb option to the MinGW
frontend to lld that can work without a parameter, and implements --help
and -v for the same frontend.
2019-05-28 00:03:05 +03:00
Steve Lhomme
b31ef612fb
also pass the number of CORES to Ninja
...
It may automatically get a value but we can't override it
2019-05-21 14:26:26 +03:00
Steve Lhomme
4f5134fb25
wrappers: fix PATH not working when there are spaces in them
2019-05-17 12:36:00 +03:00
Michael Hept
a959509701
Fix out of bound array access in native-wrappers.h
2019-05-09 14:58:38 +03:00
Martin Storsjö
d009355b91
build-llvm: Remove the now unnecessary BUILDTARGETS variable
2019-05-09 09:22:26 +03:00
Martin Storsjö
873243acc2
build-llvm: Use the built-in recursive cmake for building llvm-tblgen if necessary
...
This requires setting a flag to use the system default compiler
for this, instead of the cross compiler.
2019-05-09 09:22:26 +03:00
Martin Storsjö
a8829aeebb
build-libcxx: Remove cmake flag overrides that no longer are necessary
2019-05-09 09:22:26 +03:00
Martin Storsjö
ca329c1cd4
run-tests: Check for the _UCRT define that latest upstream mingw-w64 defines
...
The __MSVCRT_VERSION__ define has been changed and now is set to
0xE00 for UCRT, but the _UCRT define has been added.
2019-05-07 09:04:06 +03:00
Martin Storsjö
6223a35822
strip-llvm: Remove lld-link on windows
2019-05-06 11:05:25 +03:00
Martin Storsjö
c3aeb78576
wrappers: Add a wrapper for running llvm binutils replacements
...
This saves a lot of diskspace, when symlinks are turned into full
copies of the tools on windows, as the symlinks only point to a small
wrapper instead of to the full tool.
2019-05-06 11:05:25 +03:00
Martin Storsjö
750ab50433
wrappers: Consistently quote all arguments when calling spawn or creating a command line
2019-05-06 11:04:53 +03:00
Martin Storsjö
fa88c4ee1e
wrappers: Escape the first argument to spawn
...
This fixes running in paths that contain a space.
2019-05-06 11:04:53 +03:00
Martin Storsjö
97ca0681bc
wrappers: Split out shared helpers for native wrapper executables to a header
2019-05-06 11:04:53 +03:00
Martin Storsjö
66055dfe63
wrappers: Take the argv null terminator into account when checking for overflows
...
When adding the terminator without incrementing arg and checking for
overflows with "arg > max_arg", we need to allocate space for one
extra element for the implicit terminator.
2019-05-06 11:04:27 +03:00
Martin Storsjö
013dfc08e4
windres-wrapper: Check that the number of args isn't exceeded
2019-05-06 11:04:27 +03:00
Martin Storsjö
2ad83e2c1a
Extend the dockerignore file to exclude more unnecessary files
2019-05-06 10:54:07 +03:00
Martin Storsjö
debd8ca382
Do cleanup even if the release script is interrupted
2019-05-04 07:55:04 +03:00
Martin Storsjö
ad997b4ea9
Remove Remarks.dll in addition to the previous OptRemarks.dll
...
The latter has now been renamed.
2019-05-04 07:55:04 +03:00
Martin Storsjö
56ef08dadc
Build libcxx without --export-all-symbols
...
With the latest clang and libcxx, this workaround no longer is
necessary.
2019-05-04 07:55:04 +03:00
Martin Storsjö
b4256fea44
Update libcxx to the latest version
...
This version fixes dllexport handling of template instantiations for
mingw.
2019-05-04 07:55:04 +03:00
Martin Storsjö
f9ce17774e
Switch i686 exception handling back to dwarf
...
The code generation bug in llvm has been fixed now.
2019-05-04 07:55:04 +03:00
Martin Storsjö
1759d79daa
Update to the latest version of llvm/clang/lld
...
This contains the following changes relevant for mingw usage:
- A fix in a code generation bug affecting dwarf exception handling
on i686
- Setting the proper machine type in weak alias objects in import libraries,
making GNU binutils not reject such files outright
- Fixes for SEH generation for AArch64, for functions containing
jump tables
- Fixes to the calling convention of functions returning structs on AArch64
- Improvements in handling of dllexport of C++ template instantiations,
allowing building libc++ into a DLL without using --export-all-symbols
- Proper separators in the output of clang --print-search-dirs on
Windows
- A new flag --appcontainer to lld's mingw frontend
- Lld now has extra handling of crtend.o, fixing use of lld with gcc
based mingw setups, when using dwarf exceptions
2019-05-04 07:53:15 +03:00
Martin Storsjö
82324fcff5
run-tests: Build optimized versions of the exception handling tests
...
Exception handling codegen can be greatly affected by optimization.
2019-04-30 00:03:28 +03:00
Martin Storsjö
8cf83f259e
Add the testcase from llvm PR40322
2019-04-30 00:03:19 +03:00
Martin Storsjö
c3a16814bd
crt-test: Add tests for logb/ilogb
2019-04-29 12:17:07 +03:00
Martin Storsjö
571aa86e6a
Update mingw-w64 to a newer version
...
This version contains more fixes for the logbl/ilogb math functions.
2019-04-29 12:17:07 +03:00
Martin Storsjö
566d1dece9
crt-test: Clarify a comment further
2019-04-29 12:16:02 +03:00
Martin Storsjö
7e74b87a29
crt-test: Remove workarounds for llrint rounding to even numbers
...
Also add testcases for the same case with other functions.
2019-04-20 07:37:11 +03:00
Martin Storsjö
306b98716b
crt-test: Test powl on arm/aarch64 now
2019-04-20 07:37:11 +03:00
Martin Storsjö
fd74ad4c52
crt-test: Remove a workaround for mingw math functions
2019-04-20 07:37:11 +03:00
Martin Storsjö
583e9f2a78
Update to the latest version of mingw-w64
...
This version fixes a number of math functions.
2019-04-20 07:30:27 +03:00
Martin Storsjö
1dd468bb4a
run-tests: Only run aarch64 exception tests if running on native windows
2019-04-19 00:09:06 +03:00
Martin Storsjö
3deb039b62
Use SEH exceptions on aarch64
...
The SEH support for aarch64 should be pretty stable now.
2019-04-19 00:07:17 +03:00
Martin Storsjö
8cbdd0c9b4
crt-test: Clarify a comment about a workaround
2019-04-18 22:40:35 +03:00
Martin Storsjö
0e7e0fe397
clang-target-wrapper: Properly separate arguments for UWP in the C wrapper
2019-04-18 14:31:14 +03:00
Martin Storsjö
a484ddba04
Stop using --enable-secure-api with mingw-w64 headers
...
This is on by default now, and the option is ignored (and produces
a warning).
2019-04-18 14:16:32 +03:00
Steve Lhomme
cd73ed8308
wrappers: link with the Windows Store specific runtime for UWP
2019-04-18 12:35:25 +03:00
Steve Lhomme
a270bc3cad
wrappers: force linking with mincore for UWP targets
...
it's not needed for regular win32 so shouldn't be either for these targets
2019-04-18 12:23:38 +03:00