mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 00:57:43 +00:00

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.
13 lines
506 B
Diff
13 lines
506 B
Diff
diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
|
|
index 39b9120f0..1a49ac3e5 100644
|
|
--- a/compiler-rt/cmake/config-ix.cmake
|
|
+++ b/compiler-rt/cmake/config-ix.cmake
|
|
@@ -684,7 +684,7 @@ endif()
|
|
|
|
# TODO: Add builtins support.
|
|
|
|
-if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux" AND NOT LLVM_USE_SANITIZER)
|
|
+if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux|SerenityOS" AND NOT LLVM_USE_SANITIZER)
|
|
set(COMPILER_RT_HAS_CRT TRUE)
|
|
else()
|
|
set(COMPILER_RT_HAS_CRT FALSE)
|