overlay: remove unwinding stacks to save ram

This commit is contained in:
Lightos1
2026-07-15 19:30:23 +02:00
parent b2d2025688
commit 587325cccf
2 changed files with 22 additions and 2 deletions

View File

@@ -49,7 +49,7 @@ DEFINES := -DDISABLE_IPC -DTARGET="\"$(TARGET)\"" -DTARGET_VERSION="\"$(TARGET_V
ARCH := -march=armv8-a+crc+crypto -mtune=cortex-a57 -mtp=soft -fPIE
CFLAGS := -Os -Wall -flto -fdata-sections -ffunction-sections -fno-rtti -fno-common \
CFLAGS := -Os -Wall -flto -fdata-sections -ffunction-sections -fno-rtti -fno-common -fno-asynchronous-unwind-tables -fno-unwind-tables \
$(ARCH) $(DEFINES)
CFLAGS += $(INCLUDE) -D__SWITCH__
@@ -67,7 +67,7 @@ CFLAGS += -DUI_OVERRIDE_PATH="\"$(UI_OVERRIDE_PATH)\""
CXXFLAGS := $(CFLAGS) -fno-exceptions -std=gnu++23
ASFLAGS := -g $(ARCH)
LDFLAGS = -specs=$(DEVKITPRO)/libnx/switch.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
LDFLAGS = -specs=$(DEVKITPRO)/libnx/switch.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map),-wrap,__cxa_throw -Wl,-wrap,_Unwind_Resume -Wl,-wrap,__gxx_personality_v0
LIBS := -lcurl -lz -lminizip -lmbedtls -lmbedx509 -lmbedcrypto -ljansson -lnx

View File

@@ -30,6 +30,26 @@
#include "ui/gui/fatal_gui.h"
#include "ui/gui/main_gui.h"
extern "C" {
// Ty to MasaGratoR for this!
// This is done to save some space as they have no practical use in our case
void *__real___cxa_throw(void *thrown_exception, void *pvar, void (*dest)(void *));
void *__real__Unwind_Resume();
void *__real___gxx_personality_v0();
void __wrap___cxa_throw(void *thrown_exception, void *pvar, void (*dest)(void *)) {
abort();
}
void __wrap__Unwind_Resume() {
return;
}
void __wrap___gxx_personality_v0() {
return;
}
}
class AppOverlay : public tsl::Overlay {
public:
AppOverlay() {