Darwin, Objective-C : Adjust objective-c symbol linkage with version.
authorIain Sandoe <iain@sandoe.co.uk>
Sun, 4 Oct 2020 09:09:57 +0000 (10:09 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Sun, 11 Oct 2020 13:12:43 +0000 (14:12 +0100)
commit8703bf5d31fdb4789b5eddca394f8e92a0c55801
tree4fec2c5edd9df135d4fba4864a70877d6d7c345a
parent336fdc8ba88cf617d76d1764df033cbf972904dd
Darwin, Objective-C : Adjust objective-c symbol linkage with version.

Earlier linkers cannot handle publicly-visible (or linker-visible)
metadata, so we need to make the output of these conditional on version.

gcc/ChangeLog:

* config/darwin.c (darwin_globalize_label): Make a subset of
metadate symbols global.
(darwin_label_is_anonymous_local_objc_name): Make a subset of
metadata symbols linker-visible.
(darwin_override_options): Track more target OS versions, make
the next_runtime version track this (unless it's set to 0 for
GNU runtime).

gcc/objc/ChangeLog:

* objc-next-runtime-abi-02.c (FIXUP_NEEDED): Rename ...
(USE_FIXUP_BEFORE): ... to this.
(next_runtime_02_initialize): Likewise.
(next_runtime_abi_02_get_arg_type_list_base): Likewise.
(next_runtime_abi_02_build_objc_method_call): Likewise.
gcc/config/darwin.c
gcc/objc/objc-next-runtime-abi-02.c