[PATCH] D98901: [AIX] Update rpath for BUILD_SHARED_LIBS
Jinsong Ji via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 20 13:32:12 PDT 2021
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG14696baaf4c4: [AIX] Update rpath for BUILD_SHARED_LIBS (authored by jsji).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98901/new/
https://reviews.llvm.org/D98901
Files:
llvm/cmake/modules/AddLLVM.cmake
llvm/cmake/modules/HandleLLVMOptions.cmake
Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -212,6 +212,11 @@
append("-bcdtors:mbr"
CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
endif()
+ if(BUILD_SHARED_LIBS)
+ # See rpath handling in AddLLVM.cmake
+ # FIXME: Remove this warning if this rpath is no longer hardcoded.
+ message(WARNING "Build and install environment path info may be exposed; binaries will also be unrelocatable.")
+ endif()
endif()
# Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO
Index: llvm/cmake/modules/AddLLVM.cmake
===================================================================
--- llvm/cmake/modules/AddLLVM.cmake
+++ llvm/cmake/modules/AddLLVM.cmake
@@ -2105,6 +2105,12 @@
if (APPLE)
set(_install_name_dir INSTALL_NAME_DIR "@rpath")
set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+ elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS)
+ # $ORIGIN is not interpreted at link time by aix ld.
+ # Since BUILD_SHARED_LIBS is only recommended for use by developers,
+ # hardcode the rpath to build/install lib dir first in this mode.
+ # FIXME: update this when there is better solution.
+ set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
elseif(UNIX)
set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98901.332127.patch
Type: text/x-patch
Size: 1681 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210320/02cb526c/attachment.bin>
More information about the llvm-commits
mailing list