Josh de Kock
08224169fd
Add windres wrapper for LLVM tools
2018-05-05 00:14:45 +03:00
Martin Storsjö
37e0a35aa5
Update to the latest version of llvm/clang/lld
...
This version contains improvements and fixes for llvm-rc and llvm-cvtres.
2018-05-03 14:51:26 +03:00
Martin Storsjö
35c2028e50
Define _LIBCPP_HAS_THREAD_API_WIN32 while building libcxxabi
...
When building libcxx, this is also already enabled via the cmake
option -DLIBCXX_HAS_WIN32_THREAD_API=ON.
This fixes building libcxxabi if pthreads are available.
2018-05-03 14:50:43 +03:00
Martin Storsjö
ef5cbfd947
Use "which" to find the location of the dummy "true" executable
...
On macOS, this is in /usr/bin instead of in /bin.
2018-04-27 09:29:17 +03:00
Martin Storsjö
f018ca81fe
Add libssp to dockerignore as well
2018-04-26 16:18:40 +03:00
Martin Storsjö
579aa616b4
Fix strip-llvm.sh after updating to the latest version of clang
...
In this version, the binary actually is named clang-7 instead of
clang-7.0. This requires extending the test a little for keeping such
binaries but removing other clang-foo tools.
2018-04-26 13:15:53 +03:00
Martin Storsjö
c9db1e06b5
Build libssp from gcc
...
gcc/libssp's configure script runs checks for flags that clang doesn't
implement. We actually just need to set a few HAVE defines and compile
the .c sources, so just check out this subdirectory using svn and build
it using a custom makefile.
2018-04-23 00:26:05 +03:00
Martin Storsjö
61eaf3a0de
Stop manually setting the sysroot
...
Since clang SVN r330244, the one next to clang is preferred, even
if a similar mingw gcc exists in the path.
2018-04-19 00:52:35 +03:00
Martin Storsjö
6b5651a4a3
Stop adding the toplevel c++ include symlink
...
As long as we pass --sysroot explicitly in clang-target-wrapper.sh,
this isn't necessary. And since clang SVN r329946. it's no longer
necessary when not specifying the sysroot (and having it is in
fact harmful).
2018-04-19 00:35:45 +03:00
Martin Storsjö
f13e8da487
Update to the latest version of llvm/clang/lld
...
This version improves the handling of mingw cross sysroots
and the libc++ include paths.
2018-04-18 20:44:22 +03:00
Martin Storsjö
c47bc66093
Update to the latest version of mingw-w64
...
This version fixes a few issues for arm and arm64.
2018-04-15 23:21:58 +03:00
Martin Storsjö
e2c1dcac2b
Mention strip-llvm.sh in the readme
2018-04-02 16:40:21 +03:00
Martin Storsjö
9557db98f9
Remove a few unnecessary sentences of the readme
2018-04-02 16:40:21 +03:00
Martin Storsjö
e835141ce2
Tweak the wording in the readme
2018-04-02 16:40:21 +03:00
Martin Storsjö
e9975fabab
Squash all build steps in the dockerfile, producing a much smaller image
...
Keep the old dockerfile with a different file name, for easier
testing/debugging (where later steps can be tweaked without
rebuilding everything).
2018-04-02 16:00:27 +03:00
Martin Storsjö
f856480113
Clean up properly after installing packages
2018-04-01 23:30:12 +03:00
Martin Storsjö
d3ff718bd1
Remove unnecessary llvm files at the end
...
This doesn't help reduce the docker image size since it's done
in a separate RUN step than the one that added the files. (compiler-rt
and libunwind currently fail to build after stripping the llvm
installation though.)
2018-04-01 23:27:21 +03:00
Martin Storsjö
60af9e29e1
Strip the built widl
2018-04-01 22:45:30 +03:00
Martin Storsjö
172b2974dd
Strip llvm on install
2018-04-01 22:45:30 +03:00
Martin Storsjö
93e7810749
Share one include directory between all archs
2018-04-01 22:45:30 +03:00
Martin Storsjö
511222e6b5
Skip a redundant subdirectory in the docker image
2018-04-01 22:45:30 +03:00
Martin Storsjö
166a2bab65
Install the toolchain to /opt/llvm-mingw, in the docker image
2018-04-01 22:45:30 +03:00
Martin Storsjö
6dc488eca7
Remove an unnecessary command from the end of a step in the dockerfile
2018-04-01 22:45:30 +03:00
Martin Storsjö
cacdf723fa
Add ISC licenses to the test programs
2018-03-21 11:09:55 +02:00
Martin Storsjö
7297bb65a5
Add a more thorough test case, testing various CRT features
...
Simplify building of the test cases at the same time; stop building
hello-cpp with -fno-exceptions.
2018-03-20 12:00:56 +02:00
Martin Storsjö
421b7f671c
Rename hello.cpp to hello-cpp.cpp
2018-03-20 11:51:33 +02:00
Martin Storsjö
d7d80f084a
Rename the hello subdirectory to test
2018-03-20 11:08:32 +02:00
Martin Storsjö
ee480fec72
Update to the latest version of mingw-w64
...
This version compeletes some aarch64 specific structs in winnt.h
and provides libodbc32.a for aarch64.
2018-03-20 10:55:56 +02:00
Martin Storsjö
28ac526c42
Update to the latest version of llvm/clang/lld
...
This version fixes issues with long double math functions on x86_64
(and some mingw-w64 float/double math functions are implemented with
a long double function internally), and adds support for the --kill-at
flag in lld.
2018-03-20 09:57:21 +02:00
Martin Storsjö
7c069cf6b1
Allow running tests remotely for armv7/aarch64
2018-03-17 23:17:28 +02:00
Martin Storsjö
010854bb20
Update to the latest version of mingw-w64
...
This fixes a few issues with math functions on i686.
2018-03-14 18:00:41 +02:00
Martin Storsjö
f175276aa7
Use native TLS on aarch64
2018-03-14 14:17:48 +02:00
Martin Storsjö
363be40cca
Update to the latest versions of llvm/clang/lld
...
This adds support for native TLS on aarch64, and fixes an issue
with stack probing on x86_64 when using dwarf exceptions.
2018-03-14 14:17:41 +02:00
Martin Storsjö
681071d08b
Update to the latest version of llvm/clang/lld
...
This fixes issues with -mms-bitfields together with "long double"
on i686, and allows using the -static flag while building DLLs
(to link dependent libraries statically), and implements stack
probing for alloca calls on aarch64.
2018-02-27 21:59:04 +02:00
Martin Storsjö
5348f86a3f
Provide dlltool via a shell script wrapper that sets the default architecture
2018-02-27 13:42:34 +02:00
Martin Storsjö
71e3239442
Allow setting CCACHE=1 to wrap all llvm-mingw building in ccache
2018-02-26 12:50:11 +02:00
Martin Storsjö
1c31677a64
Use 4 spaces for indentation in test applications
2018-02-26 12:49:15 +02:00
Martin Storsjö
3e61dc4908
Consistently use 4 spaces for indentation in shell scripts
2018-02-26 12:48:18 +02:00
Martin Storsjö
9167841f5c
Update to the latest version of mingw-w64
...
This avoids some warnings about gnu printf format attributes.
2018-02-21 13:53:09 +02:00
Martin Storsjö
48af4af2c3
Update to the latest version of libunwind
...
This fixes issues with building libunwind as a DLL with SJLJ
exception handling. (We currently don't build it as a DLL though.)
2018-02-02 09:44:29 +02:00
Martin Storsjö
35e104301f
Update to the latest version of llvm/clang/lld
...
This fixes issues with dllimport of variables in -O0 for aarch64
and fixes an issue with RTTI in C++ for classes exported from DLLs.
2018-02-02 09:42:54 +02:00
Martin Storsjö
5d202dfe4f
Update to the latest version of libcxx
...
This version avoids polluting the namespace of users of the <thread>
header with windows.h.
2018-01-24 12:25:49 +02:00
Martin Storsjö
9c3636a676
Check out the right versions of libunwind/libcxxabi/libcxx before building at all
...
This makes sure that libunwind and libcxxabi actually get built
against the same headers that are checked out later.
2018-01-24 12:25:21 +02:00
Martin Storsjö
4e201bd42f
Update to the latest version of llvm/clang/lld
...
This version fixes a bug with -O3 optimization for arm.
2018-01-24 10:08:30 +02:00
Martin Storsjö
53be941850
Mention a few more known issues
2018-01-23 11:22:48 +02:00
Martin Storsjö
17ce2b2a05
Update compiler-rt to the latest version
...
This version fixes the __clear_cache function on aarch64 windows.
2018-01-19 09:36:41 +02:00
Martin Storsjö
592495bb7b
Build compiler-rt with optimization enabled
2018-01-18 10:00:05 +02:00
Martin Storsjö
098f6750d7
Automatically extract the clang version number when installing compiler-rt
2018-01-18 10:00:01 +02:00
Martin Storsjö
2e994e681c
Add a script for building the test applications and running them
2018-01-15 10:57:02 +02:00
Martin Storsjö
fa5b73dc01
Speed up hello-tls.c by running fewer iterations and threads
...
Also improve a printout.
2018-01-15 10:56:25 +02:00