Merge pull request #7424 from kubkon/macho-surgery

linker: refactor surgical Mach-O linker code
This commit is contained in:
Luke Boswell 2024-12-29 15:12:11 +11:00 committed by GitHub
commit 723e35f11e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 191 additions and 90 deletions

View file

@ -1041,14 +1041,13 @@ fn link_macos(
// "--gc-sections",
"-arch",
&arch,
// Suppress warnings, because otherwise it prints:
//
// ld: warning: -undefined dynamic_lookup may not work with chained fixups
//
// We can't disable that option without breaking either x64 mac or ARM mac
"-w",
"-macos_version_min",
&get_macos_version(),
// Suppress fixup chains to ease working out dynamic relocs by the
// surgical linker. In my experience, working with dyld opcodes is
// slightly easier than unpacking compressed info from the __got section
// and fixups load command.
"-no_fixup_chains",
])
.args(input_paths)
.args(extra_link_flags());