diff options
author | Francis Ricci <francisjricci@gmail.com> | 2017-10-05 19:17:28 +0000 |
---|---|---|
committer | Francis Ricci <francisjricci@gmail.com> | 2017-10-05 19:17:28 +0000 |
commit | 631431e17e9d32c9e72bd52c85b1411ef62f7309 (patch) | |
tree | 0e5943275e6cea95950789e134ec45adc2c78af0 /test/tools | |
parent | 6bfe1d944a70d4d98a323e8cb9e94e6fa0d44f9d (diff) | |
download | llvm-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-x | test/tools/dsymutil/Inputs/swift-ast | bin | 0 -> 8464 bytes | |||
-rw-r--r-- | test/tools/dsymutil/Inputs/swift-ast.swiftmodule | 1 | ||||
-rw-r--r-- | test/tools/dsymutil/swift-ast.test | 14 |
3 files changed, 15 insertions, 0 deletions
diff --git a/test/tools/dsymutil/Inputs/swift-ast b/test/tools/dsymutil/Inputs/swift-ast Binary files differnew file mode 100755 index 00000000000..f82d811409b --- /dev/null +++ b/test/tools/dsymutil/Inputs/swift-ast 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| |