Index: llvm/cmake/modules/HandleLLVMOptions.cmake =================================================================== --- llvm/cmake/modules/HandleLLVMOptions.cmake +++ llvm/cmake/modules/HandleLLVMOptions.cmake @@ -153,7 +153,11 @@ set(LTDL_SHLIB_EXT ${CMAKE_SHARED_LIBRARY_SUFFIX}) # We use *.dylib rather than *.so on darwin. -set(LLVM_PLUGIN_EXT ${CMAKE_SHARED_LIBRARY_SUFFIX}) +if(${CMAKE_SYSTEM_NAME} MATCHES "AIX") + set(LLVM_PLUGIN_EXT ".so") +else() + set(LLVM_PLUGIN_EXT ${CMAKE_SHARED_LIBRARY_SUFFIX}) +endif() if(APPLE) if(LLVM_ENABLE_LLD AND LLVM_ENABLE_LTO) Index: llvm/include/llvm/Config/config.h.cmake =================================================================== --- llvm/include/llvm/Config/config.h.cmake +++ llvm/include/llvm/Config/config.h.cmake @@ -314,6 +314,9 @@ /* Define to the extension used for shared libraries, say, ".so". */ #cmakedefine LTDL_SHLIB_EXT "${LTDL_SHLIB_EXT}" +/* Define to the extension used for plugin libraries, say, ".so". */ +#cmakedefine LLVM_PLUGIN_EXT "${LLVM_PLUGIN_EXT}" + /* Define to the address where bug reports for this package should be sent. */ #cmakedefine PACKAGE_BUGREPORT "${PACKAGE_BUGREPORT}" Index: llvm/unittests/Support/DynamicLibrary/CMakeLists.txt =================================================================== --- llvm/unittests/Support/DynamicLibrary/CMakeLists.txt +++ llvm/unittests/Support/DynamicLibrary/CMakeLists.txt @@ -22,7 +22,7 @@ export_executable_symbols(DynamicLibraryTests) function(dynlib_add_module NAME) - add_library(${NAME} SHARED + add_library(${NAME} MODULE PipSqueak.cpp ) set_target_properties(${NAME} PROPERTIES FOLDER "Tests") @@ -34,7 +34,7 @@ set_target_properties(${NAME} PROPERTIES PREFIX "" - SUFFIX ${LTDL_SHLIB_EXT} + SUFFIX ${LLVM_PLUGIN_EXT} ) add_dependencies(DynamicLibraryTests ${NAME}) Index: llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp =================================================================== --- llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp +++ llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp @@ -26,7 +26,7 @@ void *Ptr = (void*)(intptr_t)TestA; std::string Path = fs::getMainExecutable(Argv0, Ptr); llvm::SmallString<256> Buf(path::parent_path(Path)); - path::append(Buf, (Name + LTDL_SHLIB_EXT).c_str()); + path::append(Buf, (Name + LLVM_PLUGIN_EXT).c_str()); return std::string(Buf.str()); }