[llvm] r178725 - Don't export symbols in every binary on linux.

Rafael Espindola rafael.espindola at gmail.com
Wed Apr 3 18:01:33 PDT 2013


Author: rafael
Date: Wed Apr  3 20:01:32 2013
New Revision: 178725

URL: http://llvm.org/viewvc/llvm-project?rev=178725&view=rev
Log:
Don't export symbols in every binary on linux.

On freebsd this makes sure that symbols are exported on the binaries that need
them. The net result is that we should get symbols in the binaries that need
them on every platform.

On linux x86-64 this reduces the size of the bin directory from 262MB to 250MB.

Patch by Stephen Checkoway.

Modified:
    llvm/trunk/CMakeLists.txt
    llvm/trunk/tools/bugpoint/CMakeLists.txt
    llvm/trunk/tools/opt/CMakeLists.txt
    llvm/trunk/unittests/ExecutionEngine/JIT/CMakeLists.txt

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=178725&r1=178724&r2=178725&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Wed Apr  3 20:01:32 2013
@@ -390,6 +390,10 @@ if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include llvm/Support/Solaris.h")
 endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
 
+# Make sure we don't get -rdynamic in every binary. For those that need it,
+# use set_target_properties(target PROPERTIES ENABLE_EXPORTS 1)
+set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
+
 include(AddLLVM)
 include(TableGen)
 

Modified: llvm/trunk/tools/bugpoint/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CMakeLists.txt?rev=178725&r1=178724&r2=178725&view=diff
==============================================================================
--- llvm/trunk/tools/bugpoint/CMakeLists.txt (original)
+++ llvm/trunk/tools/bugpoint/CMakeLists.txt Wed Apr  3 20:01:32 2013
@@ -12,3 +12,4 @@ add_llvm_tool(bugpoint
   ToolRunner.cpp
   bugpoint.cpp
   )
+set_target_properties(bugpoint PROPERTIES ENABLE_EXPORTS 1)

Modified: llvm/trunk/tools/opt/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/CMakeLists.txt?rev=178725&r1=178724&r2=178725&view=diff
==============================================================================
--- llvm/trunk/tools/opt/CMakeLists.txt (original)
+++ llvm/trunk/tools/opt/CMakeLists.txt Wed Apr  3 20:01:32 2013
@@ -6,3 +6,4 @@ add_llvm_tool(opt
   PrintSCC.cpp
   opt.cpp
   )
+set_target_properties(opt PROPERTIES ENABLE_EXPORTS 1)

Modified: llvm/trunk/unittests/ExecutionEngine/JIT/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/JIT/CMakeLists.txt?rev=178725&r1=178724&r2=178725&view=diff
==============================================================================
--- llvm/trunk/unittests/ExecutionEngine/JIT/CMakeLists.txt (original)
+++ llvm/trunk/unittests/ExecutionEngine/JIT/CMakeLists.txt Wed Apr  3 20:01:32 2013
@@ -52,6 +52,4 @@ add_llvm_unittest(JITTests
   ${JITTestsSources}
   )
 
-if(MINGW OR CYGWIN)
-  set_property(TARGET JITTests PROPERTY LINK_FLAGS -Wl,--export-all-symbols)
-endif()
+set_target_properties(JITTests PROPERTIES ENABLE_EXPORTS 1)





More information about the llvm-commits mailing list