liblinux++

A hosted C++ runtime without any libc.
git clone git://henryandlizzy.uk/liblinux++
Log | Files | Refs

commit 136b00b45ea10f2fe75b300ee2ecc5db0c895d67
parent d48eb4fcb93bf2cca56e0923154dc0127f2d981d
Author: Henry Wilson <henry@henryandlizzy.uk>
Date:   Tue, 23 Dec 2025 20:50:18 +0000

Fixup aarch64

Diffstat:
Maarch64.s | 57+++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 49 insertions(+), 8 deletions(-)

diff --git a/aarch64.s b/aarch64.s @@ -9,10 +9,17 @@ start: # start is the entry point known to the linker bl main b exit -.macro syscall, num, name +.macro extern_alias, name .global \name -.section .text.\name \name: +.endm + +.macro extern, name +.section .text.\name +extern_alias \name +.endm + +.macro syscall, num mov w8, #\num svc #0 ret @@ -21,9 +28,43 @@ start: # start is the entry point known to the linker .text .global exit -syscall 63 read -syscall 64 write -syscall 56 openat -syscall 57 close -syscall 93 exit -syscall 222 mmap +extern getdents64 +extern_alias _Z10getdents644fileP14linux_dirent64y +syscall 61 + +extern read +extern_alias _Z4read4filePcy +syscall 63 + +extern write +extern_alias _Z5write4filePKcy +extern_alias _Z5write4file4spanIKcE +syscall 64 + +extern openat +extern_alias _Z6openat4file5c_strii +syscall 56 + +extern writev +extern_alias _Z5write4file4spanIKS0_IKcEE +syscall 66 + +extern close +extern_alias _Z5close4file +syscall 57 + +extern exit +extern_alias _Z4exiti +syscall 93 + +extern nanosleep +extern_alias _Z9nanosleepRK8timespecPS_ +syscall 101 + +extern mmap +extern_alias _Z4mmapPvmmm4filem +syscall 222 + +extern renameat2 +extern_alias _Z9renameat24file5c_strS_S0_12rename_flags +syscall 276