feat(compiler): Initial support for GOT-based relocations and compact_unwind tables for Mach-O

(Work in progress) macOS uses a different scheme for exception handling
in Mach-O; in contrast with the "usual" .eh_frame mechanism, Mach-O has
a `compact_unwind` section in which EH-related metadata are embedded.
This commit begins the effort to support it in its entirety. On the path
to that end, it also adds GOT-based relocations, which are necessary for
Mach-O object files.
This commit is contained in:
Edoardo Marangoni
2025-01-15 12:14:06 +01:00
parent dc227424e1
commit 77e21dad8c
19 changed files with 1061 additions and 253 deletions

View File

@ -261,6 +261,7 @@ impl Compiler for SinglepassCompiler {
function_call_trampolines,
dynamic_function_trampolines,
debug: dwarf,
got: None,
})
}