This revision was automatically updated to reflect the committed changes.
Closed by commit rG5e004b03f72a: [lldb/test] Update 
test/API/functionalities/load_lazy to macOS 12 (authored by vsk).
Herald added a project: LLDB.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112034/new/

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) \


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) \
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to