File tree Expand file tree Collapse file tree 3 files changed +7
-2
lines changed Expand file tree Collapse file tree 3 files changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -17,3 +17,4 @@ LLVM_SHARED_LIB_VER_SUFFIX := $(LLVM_VER_MAJ)jl
1717# e.g.: "libLLVM-14jl"
1818LLVM_SHARED_LIB_NAME := libLLVM-$(LLVM_SHARED_LIB_VER_SUFFIX )
1919LLVM_SHARED_LINK_FLAG := -lLLVM-$(LLVM_SHARED_LIB_VER_SUFFIX )
20+ LLVM_SHLIB_SYMBOL_VERSION := JL_LLVM_$(LLVM_VER_MAJ ) .$(LLVM_VER_MIN )
Original file line number Diff line number Diff line change @@ -119,6 +119,9 @@ ifeq ($(JULIACODEGEN),LLVM)
119119ifneq ($(USE_SYSTEM_LLVM ) ,0)
120120# USE_SYSTEM_LLVM != 0
121121CG_LLVMLINK += $(LLVM_LDFLAGS ) $(shell $(LLVM_CONFIG_HOST ) --libs --system-libs)
122+ LLVM_SHLIB_SYMBOL_VERSION := $(shell nm -D --with-symbol-versions $(shell $(LLVM_CONFIG_HOST ) --libfiles --link-shared | awk '{print $1; exit}') | \
123+ grep _ZN4llvm3Any6TypeId | head -n 1 | sed -e 's/.* @//')
124+
122125# HACK: llvm-config doesn't correctly point to shared libs on all platforms
123126# https://github.com/JuliaLang/julia/issues/29981
124127else
@@ -366,7 +369,8 @@ $(BUILDDIR)/julia_version.h: $(JULIAHOME)/VERSION
366369CXXLD = $(CXX ) -shared
367370
368371$(BUILDDIR ) /julia.expmap : $(SRCDIR ) /julia.expmap.in
369- sed < ' $<' > ' $@' -e ' s/@JULIA_SHLIB_SYMBOL_VERSION@/JL_LIBJULIA_$(SOMAJOR)/'
372+ sed < ' $<' > ' $@' -e " s/@JULIA_SHLIB_SYMBOL_VERSION@/JL_LIBJULIA_$( SOMAJOR) /" \
373+ -e " s/@LLVM_SHLIB_SYMBOL_VERSION@/$( LLVM_SHLIB_SYMBOL_VERSION) /"
370374
371375$(build_shlibdir ) /libjulia-internal.$(JL_MAJOR_MINOR_SHLIB_EXT ) : $(BUILDDIR ) /julia.expmap $(OBJS ) $(BUILDDIR ) /flisp/libflisp.a $(BUILDDIR ) /support/libsupport.a $(LIBUV )
372376 @$(call PRINT_LINK, $(CXXLD ) $(call IMPLIB_FLAGS,$@ ) $(JCXXFLAGS ) $(JL_CXXFLAGS ) $(CXXLDFLAGS ) $(SHIPFLAGS ) $(OBJS ) $(RPATH_LIB ) -o $@ \
Original file line number Diff line number Diff line change 4343 *;
4444};
4545
46- JL_LLVM_15.0 {
46+ @LLVM_SHLIB_SYMBOL_VERSION@ {
4747 global:
4848 /* Make visible so that linker will merge duplicate definitions across DSO boundaries */
4949 _ZN4llvm3Any6TypeId*;
You can’t perform that action at this time.
0 commit comments