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:
Justine Tunney 2023-05-12 22:42:57 -07:00
parent 1bfb3aab1b
commit fd34ef732d
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
91 changed files with 1288 additions and 1192 deletions

View file

@ -31,19 +31,6 @@
int main(int, char **, char **) __attribute__((__weak__));
#if 0
static inline long sys_set_tid_address(int *t) {
register long res asm("x0");
register long arg asm("x0") = (long)t;
asm volatile("mov\tx8,%1\n\t"
"svc\t0"
: "=r"(res)
: "i"(96), "r"(arg)
: "x8", "memory");
return res;
}
#endif
typedef int init_f(int argc, char **argv, char **envp, unsigned long *auxv);
extern init_f __strace_init;
@ -77,16 +64,19 @@ textstartup void cosmo(long *sp) {
_mmi.n = ARRAYLEN(_mmi.s);
_mmi.p = _mmi.s;
__mmi_lock_obj._type = PTHREAD_MUTEX_RECURSIVE;
InitializeFileDescriptors();
#ifdef SYSDEBUG
// initialize --strace functionality
argc = __strace_init(argc, argv, envp, auxv);
#endif
#if 0
#if IsAsan()
__asan_init(argc, argv, envp, auxv);
#endif
#endif
InitializeFileDescriptors();
// set helpful globals
__argc = argc;