Ports/zig/patches/ReadMe.md
0001-clang-Add-support-for-SerenityOS.patchAdd support for SerenityOS
Adds support for the $arch-pc-serenity target to the Clang front end.
This makes the compiler look for libraries and headers in the right
places, and enables some security mitigations like stack-smashing
protection and position-independent code by default.
Co-authored-by: kleines Filmröllchen [email protected] Co-authored-by: Andrew Kaster [email protected] Co-authored-by: Daniel Bertalan [email protected] Co-authored-by: Dan Klishch [email protected]
0002-llvm-Add-support-for-building-LLVM-on-SerenityOS.patchAdd support for building LLVM on SerenityOS
Adds SerenityOS #ifdefs for platform-specific code.
We stub out wait4, as SerenityOS doesn't support querying a child process's resource usage information.
POSIX shm is not supported by SerenityOS yet, so disable it in Orc.
Serenity gives each thread a default of 1MiB of stack. Increase the default stack size for llvm applications when running on SerenityOS.
0003-tools-Support-building-shared-libLLVM-and-libClang-f.patchSupport building shared libLLVM and libClang for SerenityOS
This patch tells CMake that the --whole-archive linker option should be used for specifying the archives whose members will constitute these shared libraries.
Symbol versioning is disabled, as the SerenityOS loader doesn't support it, and the ELF sections that store version data would just waste space.
0004-libcxx-Add-support-for-SerenityOS.patchAdd support for SerenityOS
This commit teaches libc++ about what features are available in our LibC, namely:
ELAST macro.This commit is an adaptation of the LLVM patch by Daniel Bertalan to fit the layout of the zig-bootstrap project.
0005-Extend-support-for-SerenityOS-target.patchExtend support for SerenityOS target
0006-build-Adjust-build-process-for-SerenityOS.patchbuild: Adjust build process for SerenityOS
0007-zlib-Fix-implicit-write-method-declaration-error.patchzlib: Fix implicit write() method declaration error
0008-build-Remove-unsupported-zig-linker-flag-z-separate-.patchbuild: Remove unsupported zig linker flag -z separate-code
0009-doctest-Filter-ZIG_LIBC-from-the-environment.patchdoctest: Filter ZIG_LIBC from the environment
This environment variable can leak into the doctest builds and cause them to look for the host libraries in the target libc locations.
0010-build-Set-correct-Zig-version.patchbuild: Set correct Zig version
The build script contains the version of zig-bootstrap's infrequently updated vendored Zig. Since we overwrite it with Zig master we have to patch the version too.
0011-build-Reduce-requested-stack-size-to-32-MiB.patchbuild: Reduce requested stack size to 32 MiB