Commit Graph

49 Commits

Author SHA1 Message Date
Maschell
f8fb941b07 Only do logging when built with make DEBUG=1, deinit logging properly 2022-01-23 22:16:51 +01:00
Maschell
91ad24571c Add missing __fini() call 2022-01-23 22:15:28 +01:00
Maschell
883ecc3791 Move the relocator to not override the EnvrionmentLoader 2022-01-23 22:11:33 +01:00
Maschell
9f7912cb60 Support for WUMS 0.3.1 2022-01-23 22:07:38 +01:00
Maschell
f2abd5945a Make it compatible with the EnvironmentLoader 2021-12-28 18:38:22 +01:00
Maschell
460c235430 Use std::shared_ptr 2021-12-07 18:23:18 +01:00
Maschell
862363629e WUMS 0.3 support: Store function symbol data inside global struct. Optimize relocator to only read needed data from global struct 2021-12-07 18:01:15 +01:00
Maschell
1ba91d26c2 Stop clearing .sbss/.bss section twice. Optimize cache flushes 2021-12-07 17:59:27 +01:00
Maschell
4c34943c86 Try to log via the logging module, also log to syslog via OSReport 2021-11-06 23:37:52 +01:00
Maschell
4542bc4d1a Formatting 2021-09-23 18:38:29 +02:00
Maschell
30d7e3b7bd Fix R_PPC_REL24 relocations 2021-09-18 12:01:04 +02:00
Maschell
f5c8df9416 Code cleanup 2021-09-18 11:55:01 +02:00
Maschell
74f7b8a662 Implement support for WUMS 0.2 2021-09-17 16:22:54 +02:00
Maschell
b17b522d6b Tweaking some compiler options 2021-04-17 13:25:54 +02:00
Maschell
4eff524ab3 Code cleanup 2021-02-19 17:01:21 +01:00
Maschell
07adc02d53 Add Support for WUMS_MODULE_SKIP_WUT_INIT macro 2021-02-19 17:01:11 +01:00
Maschell
5f9e2f8725 Use a custom heap for the relocator and modules 2021-02-19 10:05:02 +01:00
Maschell
f48a375a34 Just skip modules if imports fail instead of crashing the console on purpose 2021-01-01 02:07:02 +01:00
Maschell
98c8de7479 Implementation of InitBeforeRelocationDoneHook and SkipEntrypoint module options 2020-12-26 16:01:46 +01:00
Maschell
6e352b0085 Only use OSDynload_Acquire if really needed 2020-12-26 13:22:12 +01:00
Maschell
f38d44243e Display user selection if no default user is set. 2020-12-01 13:07:09 +01:00
Maschell
6a2a7ca1fd Fix checking the size of modules before linking 2020-12-01 13:06:58 +01:00
Maschell
c68e375567 Minor improvements 2020-12-01 13:06:40 +01:00
Maschell
10db6e943a Fix the location of the module information 2020-07-01 13:18:14 +02:00
Maschell
2b733e117a Fix compiler warnings 2020-06-25 19:11:31 +02:00
Maschell
1ed1b96bdb Move the gModuleData struct into a different location in memory, move defines into a new globals.h which both projects are using 2020-06-25 19:01:25 +02:00
Maschell
3853f3876e Use bin2s instead of xxd to include the relocator.elf 2020-06-25 18:57:41 +02:00
Maschell
b5f345e22a Formatting 2020-06-07 14:18:34 +02:00
Maschell
44b65558ef Fix compiler warnings 2020-06-07 14:17:02 +02:00
Maschell
e84b6f63bf Save the current module information struct version inside the struct. 2020-06-07 14:09:58 +02:00
Maschell
e70ec9b345 Modules do now have a flag if they should be run before their entrypoint. 2020-06-07 13:58:55 +02:00
Maschell
3f6f956b70 Move module defines into WUMS 2020-06-06 17:02:31 +02:00
Maschell
2442bb46c5 Fix several compiler warnings 2020-06-01 16:41:46 +02:00
Maschell
6cb4f4e358 Add initial support for storing and loadings hooks of modules (but not calling them) 2020-05-29 17:36:10 +02:00
Maschell
cd3065b9e5 ModuleDataPersistence: Add missing export name loading 2020-05-29 17:30:10 +02:00
Maschell
c6c12798ea Fix loading ModuleData from persistence 2020-05-29 17:29:17 +02:00
Maschell
fa68c980af Fix support for loading multiple modules 2020-05-28 21:45:44 +02:00
Maschell
db3fe907ef Change way of detecting relocations of imports 2020-05-28 20:17:28 +02:00
Maschell
51fc349237 Add support for WUMS, support for handling and resolving exports 2020-05-17 21:14:27 +02:00
Maschell
2ee3011ae8 Formatting 2020-05-17 19:05:51 +02:00
Maschell
ee045acdc8 Save information about sections of a module 2020-05-17 13:13:24 +02:00
Maschell
b526acbded Allocate everything on the stack instead of the heap 2020-05-17 13:11:52 +02:00
Maschell
d36ad9bf3d Change address/endAddress in ModuleData to startAddress/endAddress 2020-05-03 00:06:11 +02:00
Maschell
48b5f853e3 Add the size and address to the ModuleData 2020-04-29 12:35:40 +02:00
Maschell
7fe051d2cf Added some logging 2020-04-29 12:06:47 +02:00
Maschell
06cb0efe34 Fix the address of the module_information_t struct 2020-04-29 11:43:45 +02:00
Maschell
65260dbaa0 Fix logging the wrong filepath 2020-04-29 11:10:41 +02:00
Maschell
7611a54a63 Fix the path for modules 2020-04-28 15:05:45 +02:00
Maschell
9a4068d15b first commit 2020-04-28 14:43:07 +02:00