Commit Graph
72 Commits
Author SHA1 Message Date
Martin Storsjö fb4862b0d6 Split out building widl to a separate shell script
When cross compiling a llvm-mingw toolchain, we need to build widl
for the intended host environment as well.
2018-10-02 21:34:54 +03:00
Martin Storsjö 6bb0cfca58 Convert TOOLCHAIN_ARCHS from ENV to ARG
This allows overriding it with --build-arg.
2018-10-02 21:34:54 +03:00
Martin Storsjö a38e52fff5 Build address sanitizer 2018-10-02 14:53:53 +03:00
Martin Storsjö 6d7cef9e9e test: Rename ssp.c to stacksmash.c 2018-10-02 14:53:53 +03:00
Martin Storsjö f0aa7c4c10 Revert "Use dwarf exceptions on i686 as well"
This reverts commit ca43ab5ccd.

It was reported in https://github.com/mstorsjo/llvm-mingw/issues/8 that
the dwarf unwinding on i686 doesn't always work.

This commit adds a testcase for the case that didn't work previously.
2018-10-01 14:28:30 +03:00
Martin Storsjö ab1da59a48 Use a single COPY command in dockerfiles for both *.sh and *.c for wrappers 2018-09-14 09:38:44 +02:00
Martin Storsjö aa80a9ecbc Copy the built DLLs into the test output directories 2018-09-05 12:28:33 +03:00
Martin Storsjö 37f8ba8516 Add tests for the autoimport feature 2018-09-05 12:21:46 +03:00
Martin Storsjö 470008f09c Factorize the building of test DLLs in the dockerfile 2018-09-05 11:53:46 +03:00
Martin Storsjö 09567cdc96 Build tlstest-lib.dll in the arch specific output subdirectory as well
This was missed in 0448bd61.
2018-09-05 11:52:57 +03:00
Martin Storsjö 4a1c91c208 Add a testcase for libssp 2018-08-13 23:50:01 +03:00
Martin Storsjö 0448bd616a Build tests in a separate subdirectory for each arch
This eases cases when testcases contain DLLs, whose names won't
contain the arch name.
2018-08-13 23:49:08 +03:00
Martin Storsjö 917860d0ef Amend the comment about the size of the docker image 2018-08-03 11:58:59 +03:00
Martin Storsjö ca8ce421cd Strip the llvm installation after building
This still inflates the docker image chain since it's done in
a separate RUN command though.

This tests that one still can (re)build
compiler-rt/libunwind/libcxxabi/libcxx after stripping down the llvm
installation.
2018-08-03 10:56:49 +03:00
Martin Storsjö 26ab7a4424 Add a test app for thread local variables with destructors 2018-08-03 10:19:50 +03:00
Martin Storsjö 609fe4b81d Use binutils objcopy and strip if available
For x86 architectures, binutils objcopy and strip can be used as
such.

For armv7 and aarch64, binutils doesn't recognize the architectures
and refuse to touch the files. For most/everything that objcopy/strip
do, the actual architecture doesn't really matter though. Therefore,
provide a wrapper script and a minimal tool for editing PE executables,
that change the architecture from armv7 and aarch64 to i686 and x86_64
respectively before invoking binutils, and change it back afterwards.

In case the binutils tools are missing, just return a successful result
without doing anything for stripping operations (previously, we had the
<triplet>-strip tool symlinked to /bin/true, so this isn't any worse than
before) and fail for other objcopy operations.
2018-07-25 00:56:58 +03:00
Martin Storsjö 3c1c81f321 Build the winstorecompat library from mingw-w64-libraries 2018-07-16 23:30:54 +03:00
Martin Storsjö 3b3924e4b1 test: Add a testcase for setjmp 2018-06-05 23:40:25 +03:00
Josh de Kock 69b81a6d01 Build the mingw winpthreads library 2018-05-07 09:46:10 +03:00
Josh de Kock 08224169fd Add windres wrapper for LLVM tools 2018-05-05 00:14:45 +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ö 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