diff options
| author | cadmic <cadmic24@gmail.com> | 2024-04-14 14:51:32 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-14 23:51:32 +0200 |
| commit | f643499462f8cf908ddf1ee77b5625ebaff2cf25 (patch) | |
| tree | 852eb24ec8f3c8c507d779c4878be92cf5ff36c7 /src/code/fault.c | |
| parent | a94661054ed8e7ac895c3f4df07b8ac339fc3ce0 (diff) | |
Match retail BSS ordering (#1927)
* Match retail BSS ordering
* Revert moving some global variables to headers
* Adjust block numbers after header changes
* Fix debug build
* Overlay bss ordering
* Fix BSS ordering after header changes
* gc-eu-mq OK
* Implement preprocessor for #pragma increment_block_number
* Transfer usage comment from reencode.sh
* Use temporary directory instead of temporary file
* Move ColChkMassType back
Diffstat (limited to 'src/code/fault.c')
| -rw-r--r-- | src/code/fault.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/code/fault.c b/src/code/fault.c index 8b05fb820..662c1a9f1 100644 --- a/src/code/fault.c +++ b/src/code/fault.c @@ -44,6 +44,15 @@ #include "terminal.h" #include "alloca.h" +// For retail BSS ordering, the block number of sFaultInstance must be 0 or +// just above (the exact upper bound depends on the block numbers assigned to +// extern variables declared in headers). +#if OOT_DEBUG +#pragma increment_block_number 20 +#else +#pragma increment_block_number 25 +#endif + void FaultDrawer_Init(void); void FaultDrawer_SetOsSyncPrintfEnabled(u32 enabled); void FaultDrawer_DrawRecImpl(s32 xStart, s32 yStart, s32 xEnd, s32 yEnd, u16 color); @@ -76,21 +85,11 @@ const char* sFpExceptionNames[] = { "Unimplemented operation", "Invalid operation", "Division by zero", "Overflow", "Underflow", "Inexact operation", }; -#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*); |
