From f1721186bba1d71bfe0e4bd2741144a8f1539068 Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Tue, 31 Dec 2024 16:28:22 +0100 Subject: [PATCH] fxsdk: disable -ffreestanding, keep only -fno-builtin We don't need -ffreestanding anymore, and it gets in the way of the more complex headers in libstdc++. However, due to an LD bug regarding re-scanning of LTO archives we still have to keep -fno-builtin. This may be fixed in future binutils versions (I haven't tested in a while). --- fxsdk/cmake/FX9860G.cmake | 2 +- fxsdk/cmake/FX9860G_G3A.cmake | 2 +- fxsdk/cmake/FXCG50.cmake | 2 +- fxsdk/cmake/FXCP.cmake | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fxsdk/cmake/FX9860G.cmake b/fxsdk/cmake/FX9860G.cmake index de7c818..52a8469 100644 --- a/fxsdk/cmake/FX9860G.cmake +++ b/fxsdk/cmake/FX9860G.cmake @@ -16,7 +16,7 @@ set(CMAKE_CXX_COMPILER sh-elf-g++) set(CMAKE_C_FLAGS_INIT "") set(CMAKE_CXX_FLAGS_INIT "") -add_compile_options(-mb -ffreestanding -nostdlib -Wa,--dsp) +add_compile_options(-mb -fno-builtin -nostdlib -Wa,--dsp) add_link_options(-nostdlib -Wl,--no-warn-rwx-segments) link_libraries(-lgcc) add_compile_definitions(TARGET_FX9860G) diff --git a/fxsdk/cmake/FX9860G_G3A.cmake b/fxsdk/cmake/FX9860G_G3A.cmake index 6e6e98c..ca5cdf5 100644 --- a/fxsdk/cmake/FX9860G_G3A.cmake +++ b/fxsdk/cmake/FX9860G_G3A.cmake @@ -19,7 +19,7 @@ set(CMAKE_C_FLAGS_INIT "") set(CMAKE_CXX_FLAGS_INIT "") # set -DFXCG50 and -DTARGET_FXCG50 to get the CG drivers -add_compile_options(-m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -DFXCG50) +add_compile_options(-m4-nofpu -mb -fno-builtin -nostdlib -Wa,--dsp -DFXCG50) add_link_options(-nostdlib -Wl,--no-warn-rwx-segments) link_libraries(-lgcc) add_compile_definitions(TARGET_FXCG50) diff --git a/fxsdk/cmake/FXCG50.cmake b/fxsdk/cmake/FXCG50.cmake index 15eff05..15bcb8b 100644 --- a/fxsdk/cmake/FXCG50.cmake +++ b/fxsdk/cmake/FXCG50.cmake @@ -16,7 +16,7 @@ set(CMAKE_CXX_COMPILER sh-elf-g++) set(CMAKE_C_FLAGS_INIT "") set(CMAKE_CXX_FLAGS_INIT "") -add_compile_options(-m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp) +add_compile_options(-m4-nofpu -mb -fno-builtin -nostdlib -Wa,--dsp) add_link_options(-nostdlib -Wl,--no-warn-rwx-segments) link_libraries(-lgcc) add_compile_definitions(TARGET_FXCG50) diff --git a/fxsdk/cmake/FXCP.cmake b/fxsdk/cmake/FXCP.cmake index 5ba8e2a..351ada8 100644 --- a/fxsdk/cmake/FXCP.cmake +++ b/fxsdk/cmake/FXCP.cmake @@ -16,7 +16,7 @@ set(CMAKE_CXX_COMPILER sh-elf-g++) set(CMAKE_C_FLAGS_INIT "") set(CMAKE_CXX_FLAGS_INIT "") -add_compile_options(-m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp) +add_compile_options(-m4-nofpu -mb -fno-builtin -nostdlib -Wa,--dsp) add_link_options(-nostdlib -Wl,--no-warn-rwx-segments) link_libraries(-lgcc) add_compile_definitions(TARGET_FXCP)