summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'src/code')
-rw-r--r--src/code/fault.c11
-rw-r--r--src/code/fault_drawer.c8
2 files changed, 18 insertions, 1 deletions
diff --git a/src/code/fault.c b/src/code/fault.c
index 4a302d9f3..97aeaa75d 100644
--- a/src/code/fault.c
+++ b/src/code/fault.c
@@ -76,12 +76,21 @@ const char* sFpExceptionNames[] = {
"Unimplemented operation", "Invalid operation", "Division by zero", "Overflow", "Underflow", "Inexact operation",
};
-// TODO: import .bss (has reordering issues)
+#ifndef NON_MATCHING
+// TODO: match .bss (has reordering issues)
extern FaultMgr* sFaultInstance;
extern u8 sFaultAwaitingInput;
extern STACK(sFaultStack, 0x600);
extern StackEntry sFaultThreadInfo;
extern FaultMgr gFaultMgr;
+#else
+// Non-matching version for struct shiftability
+FaultMgr* sFaultInstance;
+u8 sFaultAwaitingInput;
+STACK(sFaultStack, 0x600);
+StackEntry sFaultThreadInfo;
+FaultMgr gFaultMgr;
+#endif
typedef struct {
/* 0x00 */ s32 (*callback)(void*, void*);
diff --git a/src/code/fault_drawer.c b/src/code/fault_drawer.c
index 49bcdd689..121b7d29b 100644
--- a/src/code/fault_drawer.c
+++ b/src/code/fault_drawer.c
@@ -99,7 +99,15 @@ FaultDrawer sFaultDrawerDefault = {
NULL,
};
+#ifndef NON_MATCHING
+// TODO: match .bss (has reordering issues)
extern FaultDrawer sFaultDrawer;
+extern char D_8016B6BC[0x24];
+#else
+// Non-matching version for struct shiftability
+FaultDrawer sFaultDrawer;
+char D_8016B6BC[0x24];
+#endif
void FaultDrawer_SetOsSyncPrintfEnabled(u32 enabled) {
sFaultDrawer.osSyncPrintfEnabled = enabled;