Martin Storsjö
da4d3df5da
Update to the latest version of llvm/clang/lld
...
This version improves llvm-rc to support more rc script features
and features built-in filtering of CPP output in llvm-rc. It also
improves the handling of some def features in llvm-dlltool, allows
producing codeview debug information when targeting mingw and adds
handling of a few more ARM64 relocations in lld.
2018-05-11 09:48:07 +03:00
Martin Storsjö
d3d57c2890
Fix conversion from res to coff in the new windres wrapper
2018-05-08 12:44:39 +03:00
Martin Storsjö
5899f4f536
Add the installation bin directory to the path internally in wrapper scripts
...
This allows invoking the script frontends via an explicit path,
without adding the directory to the PATH environment variable before
calling them.
2018-05-07 10:24:24 +03:00
Martin Storsjö
fa08e722ed
Don't use bashisms for finding the script directory
...
Posix sh and $0 should be good enough in most cases.
2018-05-07 09:49:48 +03:00
Martin Storsjö
ce282cdf5d
Use --driver-mode=g++ instead of invoking clang++
...
This avoids needing the clang++ symlink. On platforms without symlinks
(i.e. windows), clang.exe and clang++.exe are two separate but identical
executables. This allows getting rid of the latter, saving size.
2018-05-07 09:49:34 +03:00
Josh de Kock
69b81a6d01
Build the mingw winpthreads library
2018-05-07 09:46:10 +03:00
Martin Storsjö
fd71e83e2d
Update to the latest version of mingw-w64
...
This version includes fixes for building winpthreads for arm and arm64.
2018-05-07 09:45:38 +03:00
Martin Storsjö
decfd0030b
Update README.md about using llvm-rc instead of GNU binutils windres
2018-05-07 09:44:41 +03:00
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