summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Mitchener <bruce.mitchener@gmail.com>2015-09-04 00:00:41 +0000
committerBruce Mitchener <bruce.mitchener@gmail.com>2015-09-04 00:00:41 +0000
commit3921fc7de79ed21605fa03c0969ed2f7f85e412a (patch)
tree9459c044bd0a6281b8b3fa02dd5ac94382060b43
parentcfe7d6c4862c5095f92329cc3d6289737194108e (diff)
downloadbcm5719-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.pbxproj24
-rw-r--r--lldb/source/API/CMakeLists.txt4
-rw-r--r--lldb/source/API/liblldb.exports3
-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.exports0
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
OpenPOWER on IntegriCloud