Author: Vedant Kumar Date: 2021-10-19T13:25:14-07:00 New Revision: 5e004b03f72a17f916b93792eb778dfa9e7a09cc
URL: https://github.com/llvm/llvm-project/commit/5e004b03f72a17f916b93792eb778dfa9e7a09cc DIFF: https://github.com/llvm/llvm-project/commit/5e004b03f72a17f916b93792eb778dfa9e7a09cc.diff LOG: [lldb/test] Update test/API/functionalities/load_lazy to macOS 12 In macOS 12, dyld switched to using chained fixups. As a result, all symbols are bound at launch and there are no lazy pointers any more. Since we wish to import/dlopen() a dylib with missing symbols, we need to use a weak import. This applies to all macOS 12-aligned OS releases, e.g. iOS 15, etc. rdar://81295101 Differential Revision: https://reviews.llvm.org/D112034 Added: Modified: lldb/test/API/functionalities/load_lazy/Makefile Removed: ################################################################################ diff --git a/lldb/test/API/functionalities/load_lazy/Makefile b/lldb/test/API/functionalities/load_lazy/Makefile index 7200114d03aeb..81bc7dcb4d05f 100644 --- a/lldb/test/API/functionalities/load_lazy/Makefile +++ b/lldb/test/API/functionalities/load_lazy/Makefile @@ -5,9 +5,20 @@ all: t2_0 t2_1 t1 a.out include Makefile.rules +ifeq "$(OS)" "Darwin" + # In macOS 12, dyld switched to using chained fixups. As a result, all + # symbols are bound at launch and there are no lazy pointers any more. + # Since we wish to import/dlopen() a dylib with missing symbols, we need + # to use a weak import. This applies to all macOS 12-aligned OS releases, + # e.g. iOS 15, etc. + LINKFLAGS := "-Wl,-weak-lt2_0" +else + LINKFLAGS := "-lt2_0" +endif + t1: t2_0 $(MAKE) VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ - DYLIB_ONLY=YES DYLIB_C_SOURCES=t1.c DYLIB_NAME=t1 LD_EXTRAS="-L. -lt2_0" + DYLIB_ONLY=YES DYLIB_C_SOURCES=t1.c DYLIB_NAME=t1 LD_EXTRAS="-L. $(LINKFLAGS)" t2_0: $(MAKE) VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits