62 Commits

Author SHA1 Message Date
Martin Storsjö 53d1f7b628 readme: Add links for downloading and installing UCRT on older Windows versions 2024-11-19 14:01:06 +02:00
Martin Storsjö f343f6447b readme: Remove a paragraph about the toolchain being immature
At this point, it is reasonably mature.

There still obviously are projects that won't build with llvm-mingw,
both due to unimplemented features that GCC/binutils have, or for
other reasons, but the toolchain has seen quite a lot of usage
since this paragraph originally was written.
2024-11-19 13:36:05 +02:00
Martin Storsjö 4718b81419 build-compiler-rt: Build all runtimes for aarch64 and armv7 too
Since 0c391133c9201ef29273554a1505ef855ce17668 in llvm-project
(LLVM 17), the sanitizers can be built for aarch64, and since
5ea9dd8c7076270695a1d90b9c73718e7d95e0bf (backported to
LLVM 19.1.0 RC 4), they can be built for armv7 too.

While they can be built, address sanitizer doesn't work for the
non-x86 architecture, so omit those files from the install,
to make it clear that they aren't expected to work.

Thus, in practice, this builds the ubsan and profile runtimes for
aarch64 and armv7.
2024-09-10 11:17:05 +03:00
Martin Storsjö 1270970b3d readme: Remove outdated notes about Address Sanitizer limitations
Backtraces do work just fine on i686 these days, and backtraces
don't require using PDB either - DWARF works as well.
2024-07-28 22:55:36 +03:00
Martin Storsjö fbb0af91b3 readme: Mention and link to the nightly builds 2023-04-25 13:29:20 +03:00
Alvin Wong aca6871c26 Add a note in readme for Control Flow Guard 2023-02-10 23:55:51 +02:00
Martin Storsjö c076463631 readme: Prefer the -Wl,--pdb= and -Wl,--pdb=<filename> forms for PDB output
Using two dashes for this option name is more idiomatic for
long GNU options (using only one dash only is supported for options
where it doesn't conflict with single-character options; it does
work for "-pdb" but "--pdb" is more correct).

Stop documenting the separate argument form "-Wl,--pdb,<filename>".
If noone would use this form, one could consider switching the tools
over to interpret "-Wl,--pdb" as a boolean option (optional_argument
instead of required_argument in getopt_long) as a less awkward syntax
for "-Wl,--pdb=".
2022-10-12 15:28:45 +03:00
Martin Storsjö 21d1cf6f18 readme: Remove the note about PDB output not working for armv7/aarch64
PDB output now does work for armv7 (earlier it used to error out),
and the PDB output does work properly on aarch64.

(The recently added tests in run-lldb-tests.sh passes successfully on
aarch64. Debugging on armv7 with LLDB has got a few known issues though,
both with DWARF and with PDB, while WinDbg and/or Visual Studio might
work better.)
2022-10-12 15:27:48 +03:00
Martin Storsjö e56fb975e9 build-all: Move a call to strip-llvm.sh into build-all.sh
This is the usual build configuration that most people would use.
2022-06-12 23:06:53 +03:00
Martin Storsjö 671c408b9b readme: Mention that asan doesn't work properly with msvcrt
This was concluded in https://github.com/mstorsjo/llvm-mingw/issues/224.
2021-08-27 11:03:12 +03:00
Long Nguyen 52f07a108d README: Add autoconf and libtool as required MSYS2 packages 2021-08-16 11:26:37 +03:00
Martin Storsjö 173ac732e9 readme: Rewrite the section on installing prebuilt toolchains
Explain what the different download options are, and prioritize the
downloadable toolchain packages over docker images.
2021-04-23 14:43:46 +03:00
Orgad Shaneh 959f14a1c1 libssp: Download directory from gitlab instead of svn
svn is typically blocked on corporate firewalls.
2020-11-11 12:48:15 +02:00
Mateusz Mikuła 6ee98bd0ea Update MSYS2 instructions
`pacman -S` by default reinstalls (and redownloads if necessary) packages given as arguments. Adding `--needed` flag makes it skip packages which are already installed and up to date.
2020-04-14 13:25:15 +03:00
Martin Storsjö 353af4ba24 readme: Add a note about incompatibility with object files and static libraries from other toolchains 2020-03-14 13:51:30 +02:00
Martin Storsjö 5938c12227 readme: Recommend installing python3 instead of python2
Nowadays msys2 provides python 3.8 in the python3 package, so the
previous bug regarding running subprocesses in python3 is fixed.
2019-12-09 23:40:39 +02:00
Martin Storsjö 3d13aefc70 Bump the default _WIN32_WINNT to 0x0601, i.e. Windows 7
Since the C++ libraries require Windows 7, there's little point in
keeping the default target for C at Vista.
2019-11-26 12:16:38 +02:00
Martin Storsjö dcf34a9a35 readme: The minimum Windows version that libc++ runs on is Windows 7
It uses TryAcquireSRWLockExclusive which didn't exist until Windows 7,
unlike the rest of the SRWLock APIs that appeared in Vista.
2019-10-28 13:49:24 +02:00
Martin Storsjö 51da9d154c readme: Fix a typo and clarify a sentence 2019-08-28 13:25:56 +03:00
Martin Storsjö cf76ac237b readme: Clarify the known issue with libtool and linker script 2019-08-14 12:45:41 +03:00
Martin Storsjö 7d904d0df8 readme: Mention the common error when the compiler_rt builtins have been omitted by libtool 2019-08-13 12:55:59 +03:00
Martin Storsjö 6f93f0d618 readme: Include some more known issues wrt lld, linker script and libtool 2019-08-12 13:14:27 +03:00
Martin Storsjö 293f2af9e7 readme: Add more subheadings 2019-08-12 12:55:14 +03:00
Martin Storsjö 89e0891d8f readme: Remove the note about only being tested on macos and linux
It has recently been tested on msys2 as well, with few changes since
the last time it was tested.
2019-08-12 12:54:18 +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ö 0d4861fdd3 readme: Document the new implicit pdb output file naming 2019-05-28 00:04:39 +03:00
Martin Storsjö 666a26307d Revert "Mention the fact that binutils can't use the generated import libraries"
This reverts commit 9367988be7.

binutils actually can handle the short import format just fine.
It only has got issues with base mingw import libraries that contain
symbol aliases (which in llvm-dlltool is implemented via weak
symbols, and linking to weak symbols differ a bit between lld and
binutils ld).
2019-03-24 22:16:08 +02:00
Martin Storsjö 62b208aee2 Use llvm-objcopy/llvm-strip instead of a shell script wrapper and binutils 2019-01-24 10:58:20 +02:00
Martin Storsjö 7e0dbe79bf Stop building libcxx with LIBCXX_ABI_UNSTABLE=TRUE
This didn't seem to actually be necessary, not even in the initial
commit adding support for building a DLL of libcxx. It might have
been necessary at some earlier point while working on building a DLL.
2018-12-06 00:49:25 +02:00
Martin Storsjö 9367988be7 Mention the fact that binutils can't use the generated import libraries 2018-11-03 14:26:21 +02:00
Martin Storsjö a999e54760 Mention prebuilt binaries in the readme 2018-10-17 23:34:13 +03:00
Martin Storsjö fc88912646 Mention ubsan in the readme 2018-10-17 22:45:54 +03:00
Martin Storsjö 6ead0a46b3 Add a known issue about the fact that sanitizers only are supported on x86 2018-10-17 22:45:54 +03:00
Martin Storsjö b9543f23b9 Mention the lack of llvm-objcopy for COFF as a known issue in the readme 2018-10-09 11:40:26 +03:00
Martin Storsjö 2a3cdc9115 Update the description of the project's status
The level of maturity is generally quite a bit higher now than when
this initially was written.
2018-10-09 11:40:03 +03:00
Martin Storsjö a914746ab2 Remove the mention of other similar projects
The mentioned differences aren't quite as pronounced any longer.
2018-10-09 11:35:16 +03:00
Martin Storsjö 7f98eea889 Mention prebuilt docker images from Docker Hub 2018-10-02 21:34:54 +03:00
Martin Storsjö a38e52fff5 Build address sanitizer 2018-10-02 14:53:53 +03:00
Martin Storsjö cea63c570a Update llvm/clang/lld to the latest version
This version allows clang to use address sanitizer for mingw,
adds support for linking against import libraries from GNU tools
and makes the linker provide the __CTOR_LIST__ symbol for better
compatibility with binutils based sysroots, and adds support for
thunks for armv7 (allowing linking armv7 binaries over 16 MB).
2018-10-02 14:53:53 +03:00
Martin Storsjö c8ca4bddd6 Add known issues about the fact that the toolchain by default targets Vista or newer 2018-09-05 13:39:28 +03:00
Martin Storsjö 28dc4e3589 Remove known issues about a shared libc++ and automatic data imports 2018-09-05 12:28:33 +03:00
Martin Storsjö c0246e97db readme: Escape an asterisk 2018-09-05 11:55:12 +03:00
Martin Storsjö d25e4d5be7 Remove a known issue with debugging x86_64 binaries
With SEH in use now, this is no longer an issue.
2018-08-08 08:43:05 +03:00
Martin Storsjö af4e0b0021 readme: Remove the issue about libunwind vs WinRT
libwinstorecompat now provides a reimplementation of EnumProcessModules,
making libunwind compatible with WinRT.
2018-07-16 23:30:54 +03:00
Martin Storsjö b73785af3b Fix a typo in the readme about PDB output 2018-06-02 23:03:42 +03:00
Martin Storsjö 1c73ae0fd1 Mention PDB support in the readme 2018-05-21 14:39:00 +03:00
Martin Storsjö ecdb6647b7 windres: Remove the rc filtering in the wrapper shell script
llvm-rc does this filtering internally now.
2018-05-11 09:48:07 +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
Martin Storsjö e2c1dcac2b Mention strip-llvm.sh in the readme 2018-04-02 16:40:21 +03:00