mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-30 08:18:30 +00:00
Make considerably more progress on AARCH64
- Utilities like pledge.com now build - kprintf() will no longer balk at 48-bit addresses - There's a new aarch64-dbg build mode that should work - gc() and defer() are mostly pacified; avoid using them on aarch64 - THIRD_PART_STB now has Arm Neon intrinsics for fast image handling
This commit is contained in:
parent
1bfb3aab1b
commit
fd34ef732d
91 changed files with 1288 additions and 1192 deletions
|
@ -96,6 +96,10 @@ $(EXAMPLES_PACKAGE_LIB_A).pkg: \
|
|||
# Invalidates objects in package when makefile is edited.
|
||||
$(EXAMPLES_PACKAGE_LIB_A_OBJS): examples/package/lib/build.mk
|
||||
|
||||
# let these assembly objects build on aarch64
|
||||
o/$(MODE)/examples/package/lib/myasm.o: examples/package/lib/myasm.S
|
||||
@$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $<
|
||||
|
||||
EXAMPLES_PACKAGE_LIB_LIBS = $(foreach x,$(EXAMPLES_PACKAGE_LIB_ARTIFACTS),$($(x)))
|
||||
EXAMPLES_PACKAGE_LIB_SRCS = $(foreach x,$(EXAMPLES_PACKAGE_LIB_ARTIFACTS),$($(x)_SRCS))
|
||||
EXAMPLES_PACKAGE_LIB_HDRS = $(foreach x,$(EXAMPLES_PACKAGE_LIB_ARTIFACTS),$($(x)_HDRS))
|
||||
|
|
|
@ -8,9 +8,18 @@
|
|||
// somehow they usually make code faster
|
||||
// it's convention for keeping stack 16-byte aligned
|
||||
// cpus still devote much to pushing & popping b/c i386
|
||||
MyAsm: push %rbp
|
||||
MyAsm:
|
||||
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
call MyPrint2
|
||||
pop %rbp
|
||||
#elif defined(__aarch64__)
|
||||
bl MyPrint2
|
||||
#else
|
||||
#error "unsupported architecture"
|
||||
#endif
|
||||
|
||||
ret
|
||||
.endfn MyAsm,globl
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue