Summary: The resolver addresses stored in the dyld trie are relative to the base of the __TEXT segment. This is usually 0 in a dylib, so this was never noticed, but it is not 0 for most dylibs integrated in the shared cache. As we started using the shared cache images recently as symbol source, this causes LLDB to fail to resolve symbols which go through a runtime resolver. Reviewers: jasonmolenda, jingham Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D84083
18 lines
544 B
Makefile
18 lines
544 B
Makefile
C_SOURCES := main.c
|
|
LD_EXTRAS := -L. -lindirect -lreexport
|
|
|
|
.PHONY: build-libindirect build-libreepxoprt
|
|
all: build-libindirect build-libreepxoprt a.out
|
|
|
|
include Makefile.rules
|
|
|
|
build-libindirect: indirect.c
|
|
$(MAKE) -f $(MAKEFILE_RULES) \
|
|
DYLIB_C_SOURCES=indirect.c DYLIB_NAME=indirect DYLIB_ONLY=YES \
|
|
LD_EXTRAS="-Wl,-image_base,0x200000000"
|
|
|
|
build-libreepxoprt: reexport.c
|
|
$(MAKE) -f $(MAKEFILE_RULES) \
|
|
DYLIB_C_SOURCES=reexport.c DYLIB_NAME=reexport DYLIB_ONLY=YES \
|
|
LD_EXTRAS="-L. -lindirect -Wl,-alias_list,$(SRCDIR)/alias.list"
|