serenity/Toolchain/Patches
Dan Klishch fa1eef8bbe Toolchain: Update LLVM to 18.1.3
Apart from bumping the toolchain Clang's and port's version, this commit
completely overhauls the way LLVM toolchain is built.

First, it gets rid of a complicated two-stage process of first compiling
clang and compiler-rt builtins and then building libunwind, libc++abi,
and libc++ -- it is possible to create a complete cross-compilation
toolchain in a single CMake invocation with a modern LLVM. Moreover, the
old method was inherently unsupported and subtly broken.

Next, it utilizes full potential of the Stubs "framework". Now we are
even able to compile Clang with -Wl,-z,defs which makes one of the
patches obsolete and the whole installation less error-prone. Note that
it comes at a cost of complicating the bootstrap process on a completely
novel architecture but this hopefully won't happen often.

Lastly, it fixes handling of the -no*lib* family of flags in the
Serenity LLVM driver and correctly uses -nostartfiles in conjunction
with stubs to make necessary CMake configure-time checks succeed.
2024-04-18 13:14:33 -06:00
..
binutils Toolchain+Ports: Update binutils to 2.41 2023-09-18 10:26:42 +02:00
gcc Toolchain: Cherry-pick gcc patch for poisoned includes on libc++ hosts 2024-04-17 11:12:49 +02:00
gdb Toolchain: Allow many patches for gdb and add clang workaround 2023-04-02 10:52:28 +02:00
llvm Toolchain: Update LLVM to 18.1.3 2024-04-18 13:14:33 -06:00