mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-15 23:29:56 +00:00
Get aarch64 hello world working
$ m=aarch64-tiny $ make -j8 m=$m o/$m/tool/hello/hello.com o/third_party/qemu/qemu-aarch64 $ o/third_party/qemu/qemu-aarch64 o/$m/tool/hello/hello.com hello world $ ls -hal o/$m/tool/hello/hello.com -rwxr-xr-x 1 jart jart 4.0K May 9 05:04 o/aarch64-tiny/tool/hello/hello.com
This commit is contained in:
parent
e5e3cdf447
commit
ae0ee59614
174 changed files with 1454 additions and 851 deletions
|
@ -55,16 +55,21 @@ errfun() {
|
|||
ERRNO="$2"
|
||||
{
|
||||
printf '#include "libc/macros.internal.h"\n.text.unlikely\n\n'
|
||||
printf '%s:' "$NAME"
|
||||
if [ "${#NAME}" -gt 6 ]; then
|
||||
printf '\n'
|
||||
fi
|
||||
printf ' .leafprologue
|
||||
printf '%s:\n' "$NAME"
|
||||
printf '#ifdef __x86_64__
|
||||
.leafprologue
|
||||
.profilable
|
||||
mov %s(%%rip),%%ecx
|
||||
jmp __errfun
|
||||
#elif defined(__aarch64__)
|
||||
adrp x1,%s
|
||||
ldr w0,[x1,#:lo12:%s]
|
||||
b __errfun
|
||||
#else
|
||||
#error "unsupported architecture"
|
||||
#endif
|
||||
.endfn %s,globl,hidden
|
||||
' "$ERRNO" "$NAME"
|
||||
' "$ERRNO" "$ERRNO" "$ERRNO" "$NAME"
|
||||
} >"$dir/${1/$/-}.S"
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue