arm64: Apple Silicon support (#4390)

Got OpenGOAL building and running natively on Apple Silicon.

This is the rest of the port after the smaller arm64 emitter PRs. I was
told pushing one big PR was okay. This covers goalc, the runtime,
linker, kernel and the GOAL asm.

The new paths have native tests. I also found four more emitter bugs
while running it. They're in scalar sqrt, 128-bit stores, scalar max and
indexed stores above 4 GB.

Spent a while cleaning it up so it's easier to read. 4am gotta sleep lol

Closes #3841

---------

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
This commit is contained in:
Parker
2026-08-24 20:22:47 -07:00
committed by GitHub
parent 553a713aed
commit de25f39439
117 changed files with 10816 additions and 4039 deletions
+1
View File
@@ -461,6 +461,7 @@ void Debugger::reload_break_state() {
m_memory_map = m_listener->build_memory_map();
// lg::print("{}", m_memory_map.print());
read_symbol_table();
// xdbg::Regs uses the x86 register layout and the macOS backend is not implemented.
m_regs_valid = xdbg::get_regs_now(m_debug_context.tid, &m_regs_at_break);
if (regs_valid()) {