summaryrefslogtreecommitdiff
path: root/Ports/llvm
AgeCommit message (Collapse)Author
2022-10-24Toolchain: Update LLVM to 15.0.3Tim Schumacher
2022-10-21Ports/llvm: Add a dependency on zstdTim Schumacher
2022-09-16Toolchain: Update to LLVM 15.0.0Tim Schumacher
2022-05-03Ports: Make llvm adhere to the number of build jobsTim Schumacher
2022-04-23Toolchain+Ports: Update LLVM to 14.0.1Daniel Bertalan
Besides a version bump, the following changes have been made to our toolchain infrastructure: - LLVM/Clang is now built with -march=native if the host compiler supports it. An exception to this is CI, as the toolchain cache is shared among many different machines there. - The LLVM tarball is not re-extracted if the hash of the applied patches doesn't differ. - The patches have been split up into atomic chunks. - Port-specific patches have been integrated into the main patches, which will aid in the work towards self-hosting. - <sysroot>/usr/local/lib is now appended to the linker's search path by default. - --pack-dyn-relocs=relr is appended to the linker command line by default, meaning ports take advantage of RELR relocations without any patches or additional compiler flags. The formatting of LLVM port's package.sh has been bothering me, so I also indented the arguments to the CMake invocation.
2022-01-16Ports: Add ReadMe files explaining port patches that have explanationsAli Mohammad Pur
2022-01-10Toolchain: Backport `--update-section` support to llvm-objcopyDaniel Bertalan
This commit backports the LLVM commit that adds support for the `--update-section` flag to llvm-objcopy. We use this feature of GNU objcopy to embed the symbol map in the kernel. The corresponding LLVM Phabricator Differential Revision can be found here: https://reviews.llvm.org/D112116 This patch is identical to the upstream commit, except for two hunks that had to be changed as they didn't apply cleanly.
2022-01-03Ports: Remove build-crt patch from llvmAndrew Kaster
This patch has been integrated into the toolchain.patch file.
2021-12-21Ports: Remove wstring patch from LLVMTim Schumacher
One of the chunks in `remove-wstring.patch` was not wchar-related and has been moved to `insert-ifdef-serenity.patch` instead.
2021-11-28Ports: Upgrade LLVM to version 13.0.0Daniel Bertalan
With this update, we now use our custom `serenity` Clang target, which means that all system-specific compilation options (e.g. default PIE, header search paths) will be handled automatically. This port has been tested to build `Source/little` on all 4 toolchain-architecture pairs. Furthermore, `lib(std)c++` headers are picked up correctly and our AK headers can be included without any issues. Due to recent kernel fixes related to memory-mapped files, the LLD linker can now be used by default, so there's no need to also build the GCC port alongside this. Although our patches cover building libLLVM as a shared library, this is currently not enabled by default, as DynamicLoader is very slow in dealing with such a large number of relocations.
2021-10-05Ports: Make array-like settings actual arraysTim Schumacher
We may need entries with spaces in makeopts, installopts, and configopts, and at that point we should also convert depends and auth_opts to avoid confusion.
2021-09-15Ports: Use new CMakeToolchain.txt located in the build directoryAndrew Kaster
Now that we're generating the CMake toolchain file in the build directory, we need to redirect the ports that use CMake to the new location. Looking into this showed that there's still a bunch of work to do in general to make the ports agnostic to which toolchain they're using, there's a lot of hard-coded ${ARCH}-pc-serenity-gcc assumptions still here.
2021-06-10Ports: Add LLVM portEgor Ananyin