diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -231,6 +231,17 @@ Changes to Sanitizers --------------------- +* For users of weak overrides on Darwin, the dynamic linker (dyld) will only + consider symbols from other mach-o modules (dylibs and main executable), which + themselves contain at least one weak symbol. A consequence of this is that if + your main program contains an intended override of a sanitizer weak reference, + then it must contain at least one weak symbol. (NB: This symbol may be the + intended override itself). :: + + Example: + __attribute__((weak,unused)) unsigned __enableOverrides; + or: + __attribute__((weak)) void __asan_on_error(void) {...} Other Changes -------------