[teagba] Add symbols needed for enabling exceptions
This commit is contained in:
		
							
								
								
									
										21
									
								
								deps/teagba/src/cstartup.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								deps/teagba/src/cstartup.cpp
									
									
									
									
										vendored
									
									
								
							| @@ -4,17 +4,20 @@ | ||||
|  | ||||
| #include <ox/std/heapmgr.hpp> | ||||
|  | ||||
| #include <teagba/bios.hpp> | ||||
| #include <teagba/registers.hpp> | ||||
|  | ||||
| namespace mgba { | ||||
| void initConsole(); | ||||
| } | ||||
|  | ||||
| #define MEM_EWRAM_BEGIN reinterpret_cast<char*>(0x02000000) | ||||
| #define MEM_EWRAM_END   reinterpret_cast<char*>(0x0203FFFF) | ||||
| #define MEM_HEAP_BEGIN reinterpret_cast<char*>(0x02000000) | ||||
| #define MEM_HEAP_END   reinterpret_cast<char*>(0x0203FFFF) | ||||
|  | ||||
| #define HEAP_BEGIN reinterpret_cast<char*>(MEM_EWRAM_BEGIN) | ||||
| #define HEAP_BEGIN reinterpret_cast<char*>(MEM_HEAP_BEGIN) | ||||
| // set size to half of EWRAM | ||||
| #define HEAP_SIZE ((MEM_EWRAM_END - MEM_EWRAM_BEGIN) / 2) | ||||
| #define HEAP_END  reinterpret_cast<char*>(MEM_EWRAM_BEGIN + HEAP_SIZE) | ||||
| #define HEAP_SIZE ((MEM_HEAP_END - MEM_HEAP_BEGIN) / 2) | ||||
| #define HEAP_END  reinterpret_cast<char*>(MEM_HEAP_BEGIN + HEAP_SIZE) | ||||
|  | ||||
| extern void (*__preinit_array_start[]) (void); | ||||
| extern void (*__preinit_array_end[]) (void); | ||||
| @@ -25,6 +28,14 @@ int main(int argc, const char **argv); | ||||
|  | ||||
| extern "C" { | ||||
|  | ||||
| void abort() { | ||||
| 	REG_IE = 0; | ||||
| 	teagba::intrwait(0, 0); | ||||
| 	while (true); | ||||
| } | ||||
|  | ||||
| void *__gxx_personality_v0{}; | ||||
|  | ||||
| void __libc_init_array() { | ||||
| 	auto preInits = __preinit_array_end - __preinit_array_start; | ||||
| 	for (decltype(preInits) i = 0; i < preInits; i++) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user