Commit Graph
463 Commits
Author SHA1 Message Date
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
Steve Lhomme 707fda6348 tests: add a test to make sure compiling forbidden UWP APIs fails
When building for UWP and works otherwise
2019-04-18 12:23:28 +03:00
Steve Lhomme 591a5c2ddc tests: also test UWP targets
the tests with LoadLibrary will not work on these, so skip them
2019-04-18 11:30:59 +03:00
Steve Lhomme ca44a11660 Add wrappers that target Universal Windows 2019-04-18 11:28:05 +03:00
Martin Storsjö 47acbb667e run-tests: Handle uname MSYS* in the same way as MINGW* 2019-04-18 10:16:41 +03:00
Martin Storsjö 8c5bac6cb7 run-tests: Actually run the asan test binary when running on native windows 2019-04-18 10:15:26 +03:00
Martin Storsjö 2e31d11bfd run-tests: Make sure to actually run tests when run on native windows 2019-04-18 10:09:00 +03:00
Martin Storsjö 86e0b3732f crt-test: Remove skips for acosh(infinity) on x86 mingw
This is fixed in the latest upstream version.
2019-04-16 14:53:54 +03:00
Martin Storsjö 978a430069 Update mingw-w64 to a yet newer version
This improves math functions in libmsvcrt-os.a for arm/arm64, and
improves the acosh function for x86.
2019-04-16 14:53:54 +03:00
Martin Storsjö cb7feea731 crt-test: Tweak TEST_FLT_ACCURACY to not accept NAN 2019-04-16 10:28:43 +03:00
Martin Storsjö 70c64e58c9 crt-test: Add tests for acosh/asinh/atanh 2019-04-16 10:28:43 +03:00
Martin Storsjö 141027d5d4 crt-test: Add tests for expm1 and log1p 2019-04-16 10:28:33 +03:00
Martin Storsjö 84bdd9c4e8 Set the correct CMake option CMAKE_CROSSCOMPILING in build-llvm.sh
The previous option doesn't seem to have had any effect, and cmake
correctly has warned about an unused option.

Also set the value of the option to TRUE, for slightly more consistency
with where this option is set in build-llvm.sh.
2019-04-16 10:27:25 +03:00
Martin Storsjö 34cf84fa68 crt-test: Test putenv and the environ variable 2019-04-15 14:05:46 +03:00
Martin Storsjö fd39855471 crt-test: Remove a skip for fmodl on arm 2019-04-15 14:05:46 +03:00
Martin Storsjö a59b98bb0c crt-test: Test error reporting of CRT functions via errno 2019-04-15 14:05:46 +03:00
Martin Storsjö 62869c798c crt-test: Remove a skip for a floor function issue
When using the floor function from msvcrt/ucrt instead of a libmingwex
reimplementation, this test passes on arm as well.
2019-04-15 14:05:46 +03:00
Martin Storsjö 5f846336c0 Bump to a newer version of mingw-w64
This version contains a number of improvements for the arm CRT
libraries.
2019-04-15 14:05:22 +03:00
Martin Storsjö a96783ee46 crt-test: Improve the tests for fmod/remainder/remquo 2019-04-09 14:20:23 +03:00
Martin Storsjö 776b1f4a84 crt-test: Add tests for modf 2019-04-09 13:17:06 +03:00
Martin Storsjö 3ccaf1c1bf crt-test: Add tests of fmod/remainder/remquo 2019-04-09 12:47:00 +03:00
Martin Storsjö cb71dfa03b crt-test: Test sincos() 2019-04-09 12:45:35 +03:00