overlay: remove unwinding stacks to save ram
This commit is contained in:
@@ -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
|
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)
|
$(ARCH) $(DEFINES)
|
||||||
|
|
||||||
CFLAGS += $(INCLUDE) -D__SWITCH__
|
CFLAGS += $(INCLUDE) -D__SWITCH__
|
||||||
@@ -67,7 +67,7 @@ CFLAGS += -DUI_OVERRIDE_PATH="\"$(UI_OVERRIDE_PATH)\""
|
|||||||
CXXFLAGS := $(CFLAGS) -fno-exceptions -std=gnu++23
|
CXXFLAGS := $(CFLAGS) -fno-exceptions -std=gnu++23
|
||||||
|
|
||||||
ASFLAGS := -g $(ARCH)
|
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
|
LIBS := -lcurl -lz -lminizip -lmbedtls -lmbedx509 -lmbedcrypto -ljansson -lnx
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,26 @@
|
|||||||
#include "ui/gui/fatal_gui.h"
|
#include "ui/gui/fatal_gui.h"
|
||||||
#include "ui/gui/main_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 {
|
class AppOverlay : public tsl::Overlay {
|
||||||
public:
|
public:
|
||||||
AppOverlay() {
|
AppOverlay() {
|
||||||
|
|||||||
Reference in New Issue
Block a user