From: Rafael Espindola Date: Mon, 20 Oct 2014 21:37:38 +0000 (+0000) Subject: Explain why we don't always use --gc-sections. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c71e0050304e5d259c075b890627108b489299f3;p=platform%2Fupstream%2Fllvm.git Explain why we don't always use --gc-sections. llvm-svn: 220237 --- diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 284912c..127d538 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -143,10 +143,14 @@ endfunction(add_llvm_symbol_exports) function(add_dead_strip target_name) if(NOT LLVM_NO_DEAD_STRIP) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + # ld64's implementation of -dead_strip breaks tools that use plugins. set_property(TARGET ${target_name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-dead_strip") elseif(NOT WIN32) # Object files are compiled with -ffunction-data-sections. + # Versions of bfd ld < 2.23.1 have a bug in --gc-sections that breaks + # tools that use plugins. Always pass --gc-sections once we require + # a newer linker. set_property(TARGET ${target_name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--gc-sections") endif()