diff options
author | Bruce Mitchener <bruce.mitchener@gmail.com> | 2015-09-04 00:00:41 +0000 |
---|---|---|
committer | Bruce Mitchener <bruce.mitchener@gmail.com> | 2015-09-04 00:00:41 +0000 |
commit | 3921fc7de79ed21605fa03c0969ed2f7f85e412a (patch) | |
tree | 9459c044bd0a6281b8b3fa02dd5ac94382060b43 | |
parent | cfe7d6c4862c5095f92329cc3d6289737194108e (diff) | |
download | bcm5719-llvm-3921fc7de79ed21605fa03c0969ed2f7f85e412a.tar.gz bcm5719-llvm-3921fc7de79ed21605fa03c0969ed2f7f85e412a.zip |
Only export public symbols with the cmake build.
Summary:
This also moves the xcode support files to be near or the same
as the ones used for cmake.
The source/API/liblldb.xcodes.exports differs from the
source/API/liblldb.exports in that one contains the actual
symbol names (_ prefixed) while the other contains the symbol
names as they are in the code. The liblldb.exports file is
preprocessed by the cmake scripts into the correct per-platform
file needed (like a linker script on Linux).
This is not enabled on Windows as Windows doesn't use the same
name mangling and so it won't be valid there. Also, this is handled
already in a different way on Windows (via dll exports).
Reviewers: emaste, clayborg, labath, chaoren
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D12599
llvm-svn: 246822
-rw-r--r-- | lldb/lldb.xcodeproj/project.pbxproj | 24 | ||||
-rw-r--r-- | lldb/source/API/CMakeLists.txt | 4 | ||||
-rw-r--r-- | lldb/source/API/liblldb.exports | 3 | ||||
-rw-r--r-- | lldb/source/API/liblldb.xcode.exports (renamed from lldb/resources/lldb-framework-exports) | 0 | ||||
-rw-r--r-- | lldb/tools/argdumper/argdumper.exports (renamed from lldb/tools/argdumper/exports) | 0 | ||||
-rw-r--r-- | lldb/tools/lldb-mi/lldb-mi.exports (renamed from lldb/tools/lldb-server/exports) | 0 | ||||
-rw-r--r-- | lldb/tools/lldb-server/lldb-server.exports | 0 |
7 files changed, 19 insertions, 12 deletions
diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj index c58dfc54c89..03f94edbc75 100644 --- a/lldb/lldb.xcodeproj/project.pbxproj +++ b/lldb/lldb.xcodeproj/project.pbxproj @@ -7257,7 +7257,7 @@ CURRENT_PROJECT_VERSION = 350.99.0; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -7330,7 +7330,7 @@ DEAD_CODE_STRIPPING = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -7720,7 +7720,7 @@ DEAD_CODE_STRIPPING = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8007,7 +8007,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8080,7 +8080,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8150,7 +8150,7 @@ buildSettings = { COPY_PHASE_STRIP = YES; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8430,7 +8430,7 @@ CURRENT_PROJECT_VERSION = 350.99.0; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8556,7 +8556,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8720,7 +8720,7 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8787,7 +8787,7 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8856,7 +8856,7 @@ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8921,7 +8921,7 @@ COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt index bf231805149..ef901c18042 100644 --- a/lldb/source/API/CMakeLists.txt +++ b/lldb/source/API/CMakeLists.txt @@ -82,6 +82,10 @@ set_target_properties(liblldb VERSION ${LLDB_VERSION} ) +if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") + add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb.exports) +endif() + if ( CMAKE_SYSTEM_NAME MATCHES "Windows" ) # Only MSVC has the ABI compatibility problem and avoids using FindPythonLibs, # so only it needs to explicitly link against ${PYTHON_LIBRARY} diff --git a/lldb/source/API/liblldb.exports b/lldb/source/API/liblldb.exports new file mode 100644 index 00000000000..fd234d11c40 --- /dev/null +++ b/lldb/source/API/liblldb.exports @@ -0,0 +1,3 @@ +_ZN4lldb* +_ZNK4lldb* +init_lld* diff --git a/lldb/resources/lldb-framework-exports b/lldb/source/API/liblldb.xcode.exports index 9c194fa6ff6..9c194fa6ff6 100644 --- a/lldb/resources/lldb-framework-exports +++ b/lldb/source/API/liblldb.xcode.exports diff --git a/lldb/tools/argdumper/exports b/lldb/tools/argdumper/argdumper.exports index e69de29bb2d..e69de29bb2d 100644 --- a/lldb/tools/argdumper/exports +++ b/lldb/tools/argdumper/argdumper.exports diff --git a/lldb/tools/lldb-server/exports b/lldb/tools/lldb-mi/lldb-mi.exports index e69de29bb2d..e69de29bb2d 100644 --- a/lldb/tools/lldb-server/exports +++ b/lldb/tools/lldb-mi/lldb-mi.exports diff --git a/lldb/tools/lldb-server/lldb-server.exports b/lldb/tools/lldb-server/lldb-server.exports new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/lldb/tools/lldb-server/lldb-server.exports |