summaryrefslogtreecommitdiff
path: root/Toolchain
AgeCommit message (Collapse)Author
2023-01-25Toolchain: Ensure aarch64 libgcc_s.so.1 includes DT_SONAME tagTimon Kruiper
Without this tag, executables that link libgcc_s.so.1, which is every executable, end up with the host path to libgcc_s.so.1 as the path for the dynamic dependency (DT_NEEDED) of the executable. By making sure that the libgcc_s.so.1 shared object includes the DT_SONAME tag, the path to libgcc_s.so.1 dynamic dependency will only contain the basename, instead of the absolute host path.
2023-01-09Toolchain: Do not use `install -D` in BuildIt.shNico Weber
`-D` doesn't exist on macOS. Just call `mkdir -p` instead.
2023-01-09Toolchain: Add macOS definitions of MD5SUM and NPROC in BuildIt.shNico Weber
2023-01-09Toolchain: Make BuildCMake.sh work on macOS without brew on PATHNico Weber
2022-12-30Toolchain: Fix aarch64 toolchain GDB buildkleines Filmröllchen
We just need to pass -disable-werror, otherwise Clang will complain a lot.
2022-12-28Meta: Remove i686 targetLiav A
2022-12-13Toolchain: Remove upstreamed CMake platform files :^)Andrew Kaster
2022-12-13Toolchain+Meta: Add script to build CMake from sourceAndrew Kaster
Since we upstreamed CMake support for Serenity, we can use the Platform files from upstream instead of keeping our local copy. While not added in this commit, we can add patching capabilities for the platform files similar to what we do for gdb, llvm, gcc, and binutils later.
2022-11-13Toolchain: Add libxcrypt to serenity.nixVictor Hugo Aguiar Pacce
Should deal with build errors related to a missing crypt.h file
2022-11-12Toolchain: Fix missing makeinfo on macOS VenturaSteffen Rusitschka
macOS ventura no longer comes with makeinfo. binutils has already been fixed - see https://github.com/SerenityOS/serenity/pull/15932 This patch does the same for GDB.
2022-11-05Toolchain: Disable makeinfo for binutilsChristopher Wales
This is necessary to build on MacOS. As discussed in #15530, Serenity no longer appears to build on MacOS Ventura. This attempts to fix that by enforcing it at the command level.
2022-11-01Toolchain: Use pkg-config instead of pkgconfig in serenity.nixMarco Rebhan
pkgconfig was renamed to pkg-config in nixpkgs.
2022-11-01Toolchain: Update gcc11 to gcc12 in serenity.nixMarco Rebhan
2022-10-27Toolchain: Update BuildQemu.sh to qemu-7.1Kenneth Myhra
QEMU 7.1 was released on August 30th. Release Notes: https://wiki.qemu.org/ChangeLog/7.1 The patch 'Toolchain/Patches/qemu-cf-protection-none.patch' (or similar) has been upstreamed so it can be safely removed.
2022-10-25Everywhere: Require version >= 12 for GCC host compilerLinus Groh
So far we've gotten away with using GCC 11 for Lagom and to compile the toolchain, but via #15795 we discovered a compiler bug that has been fixed in the latest version but would error the build with CI's GCC 11. Time for an upgrade :^) We already use ubuntu-22.04 images in most places, so this is pretty straightforward. The only exception is Idan's self-hosted runner, which uses Ubuntu Focal. LibJS should build fine with GCC 11, still.
2022-10-24Toolchain: Update LLVM to 15.0.3Tim Schumacher
2022-10-21Toolchain: Keep LLVM from using `shm_open` and friendsTim Schumacher
I originally missed this while handling the upgrade to LLVM 15 (as it only affects the on-serenity port), so the patch gets to be here with a bit of a delay. Co-Authored-By: sin-ack <sin-ack@users.noreply.github.com>
2022-10-20Toolchain: Fix nix-shell; fuse2fs is now part of e2fsprogs derivationgrxnola
2022-10-14Toolchain: Fix building libgcc for AARCH64Gunnar Beutner
There was a typo in one of the spec files which resulted in us not building softfp support for libgcc. Additionally we were missing flags to build libgcc_s. This patch also makes sure we're not trying to link against crtbeginS.o and crtendS.o. This is part of a larger effort to at least get the userland to build at all.
2022-10-14Toolchain: Add SerenityOS to the LLVM config.guessTim Schumacher
2022-10-11Toolchain: Force makeinfo to be a no-opTim Schumacher
Neither are we changing any of our documentation files, nor do we need any of the documentation that is likely being built. With macOS potentially removing makeinfo from the default Xcode lineup, SerenityOS not being able to install it at all currently due to a lack of perl, and it otherwise just being a dependency that has to be installed to make the build system happy, lets just stub it out.
2022-10-06Toolchain: serenity.nix: Fix fuse2fs not being installedBaitinq
Nix (nixpkgs) have updated a while back how the e2fsprogs derivation works and now fuse2fs wasnt being installed with it. It is now needed to add a new derivation (package) to the dependency list: "fuse2fs". This fixes the Meta/serenity.sh script not finding the fuse2fs binary for rootless image building :^)
2022-10-03Meta: Make x86-64 target the defaultLiav A
This is a preparation to check if our users find noticeable bugs in the x86-64 target, before we can decide if we want to remove the i686 target for good.
2022-10-03Toolchain: Update BuildMold to mold 1.5.1 and use CMakeAndrew Kaster
Per the release notes for 1.5.0, the CMake build is preferred going forward.
2022-10-01Toolchain: Hardcode the results of LLVM runtime library detectionTim Schumacher
This keeps us from accidentally building toolchains that don't make it through a clean build if we build them using a populated sysroot, as it would otherwise detect libpthread and friends and try to pull them in while LibC is not yet built.
2022-10-01Toolchain: Only reextract GCC-related tarballs if patches changeTim Schumacher
This brings the behaviour in line with Clang, which already does this since a few revisions.
2022-10-01Toolchain: Move the binutils patch into its own folderTim Schumacher
This makes binutils compatible with `./package.sh dev`, so that we can regenerate patches more easily, and neatly stack (temporary) patches on top.
2022-09-18Toolchain: Regenerate patches using the latest format rulesTim Schumacher
2022-09-16Toolchain: Remove references to `-lm`Tim Schumacher
2022-09-16Everywhere: Fully remove the separate LibM directoryTim Schumacher
2022-09-16LibM: Move the math standard library to LibCTim Schumacher
2022-09-16Toolchain: Update to LLVM 15.0.0Tim Schumacher
2022-09-05Toolchain: Remove references to `-ldl`Tim Schumacher
2022-09-05Everywhere: Fully remove the separate LibDl directoryTim Schumacher
2022-09-05LibDl: Move the `dlfcn` implementation to LibCTim Schumacher
2022-09-02Toolchain: Update Dockerfile to ubuntu:22.10Veronika Horáčků
2022-08-24Toolchain: Update GDB to version 12.1Brian Gianforcaro
2022-08-24Toolchain: Update binutils to version 2.39Brian Gianforcaro
2022-08-24Toolchain: Update gcc to version 12.2.0Brian Gianforcaro
2022-08-17Toolchain: Allow setting QEMU_{VERSION, MD5SUM} from command lineTimon Kruiper
This can be used to download and build a specific QEMU version.
2022-07-19Toolchain: Don't pass `-lpthread` when pthreads are requestedTim Schumacher
This is essentially a no-op since we have our replacement linker script, but if we can skip over that entirely, why not?
2022-07-19Everywhere: Fully remove the separate LibPthread directoryTim Schumacher
2022-07-19LibPthread: Move the pthread and semaphore implementation to LibCTim Schumacher
This additionally adds some compatibility code to redirect linking attempts for LibPthread to LibC instead.
2022-07-16Toolchain: Update mold to 1.3.1Tim Schumacher
2022-07-13Meta+Ports: Automatically generate a meson cross file that we can useTim Schumacher
2022-06-30Toolchain: Remove workarounds for initializer_list and _aligned_allocAndrew Kaster
These are no longer required to use libc++ on Serenity
2022-06-30Toolchain: Create separate serenity xlocale support fileAndrew Kaster
2022-06-30Toolchain: Format llvm patches per new patch formatAndrew Kaster
This removes the patch series 1/N comments, git version at the bottom of the patch, and zeros out the original commit hash.
2022-06-30Toolchain+Ports: Install host ruby into Local/ruby, not Local/$ARCHAndrew Kaster
Following the pattern for qemu, mold, and clang, we should install the host ruby required to build the ruby port into its own install tree rather than forcing it into the GNU compiler's bindir.
2022-06-30Toolchain+Ports: Install host python into Local/python, not Local/$ARCHAndrew Kaster
Following the pattern for qemu, mold, and clang, we should install the host python required to build the python port into its own install tree rather than forcing it into the GNU compiler's bindir.