Commit Graph
492 Commits
Author SHA1 Message Date
Martin Storsjö e9da355304 crt-test: Test the copysign function on any platform, not only on windows 2019-08-01 22:30:45 +03:00
Martin Storsjö 7347d257ed crt-test: More thoroughly test some math functions
Also check that NaN is propagated properly where possible.
2019-08-01 22:30:45 +03:00
Martin Storsjö 52e7fff7a6 crt-test: Reduce code duplication in tests for math functions 2019-08-01 22:30:45 +03:00
Martin Storsjö 8eea910f47 crt-test: Extend existing tests for NAN to check that input NANs are preserved
Don't check the full NAN in itself, but check that the sign bit appears
correctly.
2019-08-01 22:30:45 +03:00
Martin Storsjö 2e6fa5bca7 crt-test: Wrap parameter expansion in TEST macros in parentheses 2019-08-01 22:30:45 +03:00
Martin Storsjö 70f074b599 crt-test: Restore the rounding direction after testing it 2019-08-01 22:30:45 +03:00
Martin Storsjö da4562be1b Update to the latest version of mingw-w64
This version includes fixes for a lot of c99 math functions.
2019-08-01 22:30:32 +03:00
Martin Storsjö 315e1ab683 Install the needed packages in docker images with --no-install-recommends
This avoids installing a few unneeded ones, but requires manually
picking ca-certificates instead.
2019-08-01 22:30:32 +03:00
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