mirror of https://github.com/ACreTeam/ac-decomp
45 lines
960 B
C
45 lines
960 B
C
#include "executor.h"
|
|
|
|
#include "dolphin/os/__ppc_eabi_init.h"
|
|
#include "dolphin/os.h"
|
|
#include "dolphin/os/OSContext.h"
|
|
#include "terminal.h"
|
|
#include "main.h"
|
|
|
|
BOOL construct_skip;
|
|
|
|
void _prolog() {
|
|
voidfunctionptr *constructor;
|
|
|
|
/* call static initializers */
|
|
if (!construct_skip) {
|
|
for (constructor = _ctors; *constructor; constructor++) {
|
|
(*constructor)();
|
|
}
|
|
}
|
|
main();
|
|
}
|
|
|
|
void _epilog() {
|
|
voidfunctionptr *destructor;
|
|
|
|
/* call static destructors */
|
|
for (destructor = _dtors; *destructor; destructor++) {
|
|
(*destructor)();
|
|
}
|
|
}
|
|
|
|
void _unresolved() {
|
|
u32 i;
|
|
u32* p;
|
|
|
|
OSReport(VT_COL(RED, WHITE) "\nError: A called an unlinked function.\n");
|
|
OSReport("Address: Back Chain LR Save\n");
|
|
|
|
for (i = 0, p = (u32*)OSGetStackPointer(); p && (u32)p != 0xffffffff && i++ < 16; p = (u32*)*p) {
|
|
OSReport("0x%08x: 0x%08x 0x%08x\n", p, p[0], p[1]);
|
|
}
|
|
|
|
OSReport("\n" VT_RST "\n");
|
|
}
|