You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This breaks loading into two deterministic stages: class registration
and class resolution. The original GNUstep ABI as implemented in Clang
emits calls to __objc_exec_class into the user static init section,
interleaving them with other static initializers and subjecting them to
static initialization ordering issues. +load can therefore be called on
one class when another class's module hasn't even been registered.
Clang -fobjc-runtime=microsoft preferentially emits objc_module_abi_8*s
into a binary section that's then registered and resolved (in that
order) once on load, and that loading happens in the "library" init
phase on PE/COFF platforms.
Compatibility with __objc_exec_class-based registration is not
compromised.
0 commit comments