libLTO.{so,dylib}: remove unused non-LTO symbols
authorFangrui Song <i@maskray.me>
Thu, 2 Feb 2023 22:51:35 +0000 (14:51 -0800)
committerFangrui Song <i@maskray.me>
Thu, 2 Feb 2023 22:51:35 +0000 (14:51 -0800)
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.

llvm/tools/lto/CMakeLists.txt
llvm/tools/lto/lto.dylib.exports [deleted file]
llvm/tools/lto/lto.exports

index 9382ee9..67f6d3a 100644 (file)
@@ -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 (file)
index 4164c39..0000000
+++ /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
index 3abae5f..4164c39 100644 (file)
@@ -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