mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 14:17:45 +00:00
Toolchain: Fix usage of libgcc_s & build PIE executables by default
We can now build the porst with the shared libraries toolchain.
This commit is contained in:
parent
69b0fdd84a
commit
758fc8c063
4 changed files with 5 additions and 4 deletions
|
@ -233,8 +233,8 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Os -g1 -fno-exceptions -fno-rtti -Wno-a
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffile-prefix-map=${CMAKE_SOURCE_DIR}=.")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffile-prefix-map=${CMAKE_SOURCE_DIR}=.")
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG -DSANITIZE_PTRS")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG -DSANITIZE_PTRS")
|
||||||
set(CMAKE_CXX_FLAGS_STATIC ${CMAKE_CXX_FLAGS})
|
set(CMAKE_CXX_FLAGS_STATIC "${CMAKE_CXX_FLAGS} -static")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostartfiles -lgcc_s -pie -fpic")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostartfiles -pie -fpic")
|
||||||
|
|
||||||
add_link_options(--sysroot ${CMAKE_BINARY_DIR}/Root)
|
add_link_options(--sysroot ${CMAKE_BINARY_DIR}/Root)
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ index 000000000..2692b8e57
|
||||||
+#define ENDFILE_SPEC "%{shared|pie:crtendS.o%s; :crtend.o%s} crtn.o%s"
|
+#define ENDFILE_SPEC "%{shared|pie:crtendS.o%s; :crtend.o%s} crtn.o%s"
|
||||||
+
|
+
|
||||||
+#undef LINK_SPEC
|
+#undef LINK_SPEC
|
||||||
+#define LINK_SPEC "%{shared:-shared} %{static:-static} %{!shared: %{!static: %{rdynamic:-export-dynamic} -dynamic-linker /usr/lib/Loader.so}}"
|
+#define LINK_SPEC "%{shared:-shared} %{static:-static} %{!static: %{rdynamic:-export-dynamic} %{!fbuilding-libgcc:-lgcc_s -dynamic-linker /usr/lib/Loader.so}}"
|
||||||
+
|
+
|
||||||
+/* Additional predefined macros. */
|
+/* Additional predefined macros. */
|
||||||
+#undef TARGET_OS_CPP_BUILTINS
|
+#undef TARGET_OS_CPP_BUILTINS
|
||||||
|
|
|
@ -224,6 +224,7 @@ pushd "$DIR/Build/"
|
||||||
--with-newlib \
|
--with-newlib \
|
||||||
--enable-shared \
|
--enable-shared \
|
||||||
--enable-languages=c,c++ \
|
--enable-languages=c,c++ \
|
||||||
|
--enable-default-pie \
|
||||||
${TRY_USE_LOCAL_TOOLCHAIN:+"--quiet"} || exit 1
|
${TRY_USE_LOCAL_TOOLCHAIN:+"--quiet"} || exit 1
|
||||||
|
|
||||||
echo "XXX build gcc and libgcc"
|
echo "XXX build gcc and libgcc"
|
||||||
|
|
|
@ -128,7 +128,7 @@ index 000000000..2692b8e57
|
||||||
+#define ENDFILE_SPEC "%{shared|pie:crtendS.o%s; :crtend.o%s} crtn.o%s"
|
+#define ENDFILE_SPEC "%{shared|pie:crtendS.o%s; :crtend.o%s} crtn.o%s"
|
||||||
+
|
+
|
||||||
+#undef LINK_SPEC
|
+#undef LINK_SPEC
|
||||||
+#define LINK_SPEC "%{shared:-shared} %{static:-static} %{!shared: %{!static: %{rdynamic:-export-dynamic} -dynamic-linker /usr/lib/Loader.so}}"
|
+#define LINK_SPEC "%{shared:-shared} %{static:-static} %{!static: %{rdynamic:-export-dynamic} %{!fbuilding-libgcc:-lgcc_s -dynamic-linker /usr/lib/Loader.so}}"
|
||||||
+
|
+
|
||||||
+/* Additional predefined macros. */
|
+/* Additional predefined macros. */
|
||||||
+#undef TARGET_OS_CPP_BUILTINS
|
+#undef TARGET_OS_CPP_BUILTINS
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue