wut/libraries/wutcrt/crt0_rpl.s
James Benton f281be50ab Add support for generating RPL files.
RPL files are shared libraries (like a .dll file), as opposed to the RPX
files which are executables (like a .exe file).

Use rpl_main as defined in dynload.h like one would DllMain on Windows.
2018-05-30 21:56:18 +01:00

32 lines
400 B
ArmAsm

.extern main
.extern exit
.extern __init_wut
.extern __fini_wut
.global _start
_start:
stwu 1, -0x8(1)
stw 3, 0(1)
stw 4, 4(1)
cmpwi 3, 2
beq unload
load:
# Load
bl __fini_wut
bl __eabi
lwz 3, 0(1)
lwz 4, 4(1)
bl rpl_main
addi 1, 1, 0x8
blr
unload:
# Handle unload
lwz 3, 0(1)
lwz 4, 4(1)
bl rpl_main
bl __fini_wut
addi 1, 1, 0x8
b exit