[Lldb-commits] [PATCH] D112034: [lldb/test] Update test/API/functionalities/load_lazy to macOS 12
Vedant Kumar via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Oct 18 14:41:17 PDT 2021
vsk created this revision.
vsk added reviewers: JDevlieghere, kastiglione, kledzik.
vsk requested review of this revision.
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
https://reviews.llvm.org/D112034
Files:
lldb/test/API/functionalities/load_lazy/Makefile
Index: lldb/test/API/functionalities/load_lazy/Makefile
===================================================================
--- lldb/test/API/functionalities/load_lazy/Makefile
+++ lldb/test/API/functionalities/load_lazy/Makefile
@@ -5,9 +5,20 @@
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) \
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112034.380523.patch
Type: text/x-patch
Size: 964 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20211018/1ecdfc4f/attachment.bin>
More information about the lldb-commits
mailing list