From bddbc89da16c99effd319aef791b4128a7cc3120 Mon Sep 17 00:00:00 2001 From: Falco Girgis Date: Sat, 15 Mar 2025 20:02:23 -0500 Subject: [PATCH] Added -fno-PIC to liberty and miami builds. By default with GCC SH, position-independent code is generated. Supposedly this can be less-performant (although the extent to which it is on SH4 is debatable). It also has to produce larger binaries due to offsets in the .text segment. Added -fno-PIC flag to miami and liberty Makefiles. Binary size dropped by over 8KB. Performance looks the same. Don't forget to add this when building KOS too for best results. --- liberty/Makefile | 2 +- miami/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/liberty/Makefile b/liberty/Makefile index a49e5fba..b29a33ee 100644 --- a/liberty/Makefile +++ b/liberty/Makefile @@ -133,7 +133,7 @@ CXXFLAGS += $(if $(WITH_32MB),-O3,-Os) \ $(if $(WITH_PROF),-DWITH_PROF=\"$(WITH_PROF)\") \ -MMD -MP -ffunction-sections -fdata-sections -ffast-math \ -fmerge-all-constants -fomit-frame-pointer -ml -std=gnu++20 \ - -fno-exceptions -fno-rtti -flto=auto -fipa-pta -Wno-write-strings \ + -fno-exceptions -fno-rtti -flto=auto -fipa-pta -fno-PIC -Wno-write-strings \ -Wno-deprecated-enum-enum-conversion -Wno-deprecated-enum-float-conversion \ -Wno-multichar -Wno-unused-value -Wno-char-subscripts -Wno-reorder \ -Wno-unused-function -Wno-class-memaccess -fno-permissive \ diff --git a/miami/Makefile b/miami/Makefile index 584a2543..3ba3910f 100644 --- a/miami/Makefile +++ b/miami/Makefile @@ -136,7 +136,7 @@ CXXFLAGS += $(if $(WITH_32MB),-O3,-Os) \ $(if $(WITH_PROF),-DWITH_PROF=\"$(WITH_PROF)\") \ -MMD -MP -ffunction-sections -fdata-sections -ffast-math \ -fmerge-all-constants -fomit-frame-pointer -ml -std=gnu++20 \ - -fno-exceptions -fno-rtti -fipa-pta -Wno-write-strings \ + -fno-exceptions -fno-rtti -fipa-pta -fno-PIC -Wno-write-strings \ -Wno-deprecated-enum-enum-conversion -Wno-deprecated-enum-float-conversion \ -Wno-multichar -Wno-unused-value -Wno-char-subscripts -Wno-reorder \ -Wno-unused-function -Wno-class-memaccess -fno-permissive \