aboutsummaryrefslogtreecommitdiff
path: root/test/tools
diff options
context:
space:
mode:
authorFrancis Ricci <francisjricci@gmail.com>2017-10-05 19:17:28 +0000
committerFrancis Ricci <francisjricci@gmail.com>2017-10-05 19:17:28 +0000
commit631431e17e9d32c9e72bd52c85b1411ef62f7309 (patch)
tree0e5943275e6cea95950789e134ec45adc2c78af0 /test/tools
parent6bfe1d944a70d4d98a323e8cb9e94e6fa0d44f9d (diff)
downloadllvm-631431e17e9d32c9e72bd52c85b1411ef62f7309.tar.gz
[llvm-dsymutil] Add support for __swift_ast MachO DWARF section
Summary: Xcode's dsymutil emits a __swift_ast DWARF section, which is required for debugging, and which contains a byte-for-byte dump of the swiftmodule file. Add this feature to llvm-dsymutil. Tested with `gobjdump --dwarf=info -s`, by verifying that the contents of `__DWARF.__swift_ast` match between Xcode's dsymutil and llvm-dsymutil (Xcode's dwarfdump and llvm-dwarfdump don't currently recognize the __swift_ast section). Reviewers: aprantl, friss Subscribers: llvm-commits, JDevlieghere Differential Revision: https://reviews.llvm.org/D38504 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315004 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/tools')
-rwxr-xr-xtest/tools/dsymutil/Inputs/swift-astbin0 -> 8464 bytes
-rw-r--r--test/tools/dsymutil/Inputs/swift-ast.swiftmodule1
-rw-r--r--test/tools/dsymutil/swift-ast.test14
3 files changed, 15 insertions, 0 deletions
diff --git a/test/tools/dsymutil/Inputs/swift-ast b/test/tools/dsymutil/Inputs/swift-ast
new file mode 100755
index 00000000000..f82d811409b
--- /dev/null
+++ b/test/tools/dsymutil/Inputs/swift-ast
Binary files differ
diff --git a/test/tools/dsymutil/Inputs/swift-ast.swiftmodule b/test/tools/dsymutil/Inputs/swift-ast.swiftmodule
new file mode 100644
index 00000000000..b9f59495119
--- /dev/null
+++ b/test/tools/dsymutil/Inputs/swift-ast.swiftmodule
@@ -0,0 +1 @@
+SWIFTMODULE DATA
diff --git a/test/tools/dsymutil/swift-ast.test b/test/tools/dsymutil/swift-ast.test
new file mode 100644
index 00000000000..c9dc6d3cb40
--- /dev/null
+++ b/test/tools/dsymutil/swift-ast.test
@@ -0,0 +1,14 @@
+RUN: llvm-dsymutil -oso-prepend-path %p %p/Inputs/swift-ast -o %T/swift-ast.dSYM -verbose | FileCheck %s --check-prefix=DSYMUTIL
+RUN: llvm-readobj -sections -section-data %T/swift-ast.dSYM/Contents/Resources/DWARF/swift-ast | FileCheck %s --check-prefix=READOBJ
+
+The tested object file has been created by the dummy Swift code:
+let x = 1
+
+Compiled with: swiftc /tmp/test.swift -Onone -target x86_64-apple-macosx10.9 -c
+Linked with: ld swift-ast.o -add_ast_path Inputs/swift-ast.swiftmodule -arch x86_64 -lSystem -macosx_version_min 10.9.0
+
+DSYMUTIL: filename:{{.*}}swift-ast.swiftmodule
+DSYMUTIL: DEBUG MAP OBJECT:{{.*}}swift-ast.swiftmodule
+
+READOBJ: Name:{{.*}}__swift_ast
+READOBJ: |SWIFTMODULE DATA|