[llvm-branch-commits] [llvm] f7fabe4 - libLTO.{so, dylib}: remove unused non-LTO symbols
Tobias Hieta via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Feb 9 05:01:00 PST 2023
Author: Fangrui Song
Date: 2023-02-09T13:55:21+01:00
New Revision: f7fabe48ac7874b08396cba2305dbc63c63642b9
URL: https://github.com/llvm/llvm-project/commit/f7fabe48ac7874b08396cba2305dbc63c63642b9
DIFF: https://github.com/llvm/llvm-project/commit/f7fabe48ac7874b08396cba2305dbc63c63642b9.diff
LOG: libLTO.{so,dylib}: remove unused non-LTO symbols
These dissembler symbols are not used by LTO (see Apple ld64's use
in check-llvm-tools-lto). On ELF platforms, these symbols are not defined and are
rejected by ld --no-undefined-version.
I think this is a more proper solution than D139932 and this fixes
-DBUILD_SHARED_LIBS=on for ELF as well.
(cherry picked from commit c294bdd64768e0954e7dec8ed878bdac7ce7530f)
Added:
Modified:
llvm/tools/lto/CMakeLists.txt
llvm/tools/lto/lto.exports
Removed:
llvm/tools/lto/lto.dylib.exports
################################################################################
diff --git a/llvm/tools/lto/CMakeLists.txt b/llvm/tools/lto/CMakeLists.txt
index 9382ee9588b37..67f6d3af40e05 100644
--- a/llvm/tools/lto/CMakeLists.txt
+++ b/llvm/tools/lto/CMakeLists.txt
@@ -19,11 +19,7 @@ set(SOURCES
lto.cpp
)
-if (LLVM_LINK_LLVM_DYLIB)
- set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.dylib.exports)
-else()
- set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
-endif()
+set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
if(CMAKE_SYSTEM_NAME STREQUAL AIX)
set(LTO_LIBRARY_TYPE MODULE)
diff --git a/llvm/tools/lto/lto.dylib.exports b/llvm/tools/lto/lto.dylib.exports
deleted file mode 100644
index 4164c3919a97f..0000000000000
--- a/llvm/tools/lto/lto.dylib.exports
+++ /dev/null
@@ -1,77 +0,0 @@
-lto_get_error_message
-lto_get_version
-lto_initialize_disassembler
-lto_module_create
-lto_module_create_from_fd
-lto_module_create_from_fd_at_offset
-lto_module_create_from_memory
-lto_module_create_from_memory_with_path
-lto_module_create_in_local_context
-lto_module_create_in_codegen_context
-lto_module_has_ctor_dtor
-lto_module_get_linkeropts
-lto_module_get_macho_cputype
-lto_module_get_num_symbols
-lto_module_get_symbol_attribute
-lto_module_get_symbol_name
-lto_module_get_target_triple
-lto_module_set_target_triple
-lto_module_is_object_file
-lto_module_is_object_file_for_target
-lto_module_is_object_file_in_memory
-lto_module_is_object_file_in_memory_for_target
-lto_module_has_objc_category
-lto_module_dispose
-lto_api_version
-lto_codegen_set_diagnostic_handler
-lto_codegen_add_module
-lto_codegen_set_module
-lto_codegen_add_must_preserve_symbol
-lto_codegen_compile
-lto_codegen_create
-lto_codegen_create_in_local_context
-lto_codegen_dispose
-lto_codegen_set_debug_model
-lto_codegen_set_pic_model
-lto_codegen_write_merged_modules
-lto_codegen_debug_options
-lto_codegen_debug_options_array
-lto_codegen_set_assembler_args
-lto_codegen_set_assembler_path
-lto_codegen_set_cpu
-lto_codegen_compile_to_file
-lto_codegen_optimize
-lto_codegen_compile_optimized
-lto_codegen_set_should_internalize
-lto_codegen_set_should_embed_uselists
-lto_set_debug_options
-thinlto_create_codegen
-thinlto_codegen_dispose
-thinlto_codegen_add_module
-thinlto_codegen_process
-thinlto_module_get_num_objects
-thinlto_module_get_object
-thinlto_codegen_set_pic_model
-thinlto_codegen_set_cache_dir
-thinlto_codegen_set_cache_pruning_interval
-thinlto_codegen_set_cache_entry_expiration
-thinlto_codegen_set_final_cache_size_relative_to_available_space
-thinlto_codegen_set_cache_size_bytes
-thinlto_codegen_set_cache_size_megabytes
-thinlto_codegen_set_cache_size_files
-thinlto_codegen_set_savetemps_dir
-thinlto_codegen_set_cpu
-thinlto_debug_options
-lto_module_is_thinlto
-thinlto_codegen_add_must_preserve_symbol
-thinlto_codegen_add_cross_referenced_symbol
-thinlto_codegen_set_codegen_only
-thinlto_codegen_disable_codegen
-thinlto_module_get_num_object_files
-thinlto_module_get_object_file
-thinlto_set_generated_objects_dir
-lto_input_create
-lto_input_dispose
-lto_input_get_num_dependent_libraries
-lto_input_get_dependent_library
-lto_runtime_lib_symbols_list
diff --git a/llvm/tools/lto/lto.exports b/llvm/tools/lto/lto.exports
index 3abae5f0fcbaf..4164c3919a97f 100644
--- a/llvm/tools/lto/lto.exports
+++ b/llvm/tools/lto/lto.exports
@@ -45,12 +45,6 @@ lto_codegen_compile_optimized
lto_codegen_set_should_internalize
lto_codegen_set_should_embed_uselists
lto_set_debug_options
-LLVMCreateDisasm
-LLVMCreateDisasmCPU
-LLVMDisasmDispose
-LLVMDisasmInstruction
-LLVMSetDisasmOptions
-LLVMCreateDisasmCPUFeatures
thinlto_create_codegen
thinlto_codegen_dispose
thinlto_codegen_add_module
More information about the llvm-branch-commits
mailing list