New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SR-6033] llvm-dsymutil does not include swiftmodule files in macho debug map #4504
Comments
@swift-ci create |
Comment by Francis Ricci (JIRA) Looks to me like the swiftmodule just needs to be dumped into the DWARF __swift_ast section (a hexdump of my test swiftmodule exactly matches the contents of that section as created by xcode's dsymutil). Working on that currently. |
Comment by Francis Ricci (JIRA) Probably belongs in a separate bug, but I also noticed several apple_* sections are missing with llvm_dsymutil as well: __DWARF.__apple_names
__DWARF.__apple_namespac
__DWARF.__apple_types
__DWARF.__apple_objc |
Comment by Francis Ricci (JIRA) |
Comment by Francis Ricci (JIRA) Migrated this to upstream llvm - https://reviews.llvm.org/D38504 |
Comment by Francis Ricci (JIRA) Committed llvm revision as r315066. |
Environment
macOS 10.12
Additional Detail from JIRA
md5: 0d179555e62cfadb4ec9b86b94f434bb
Issue Description:
The system dsymutil (from Xcode) pulls swiftmodule files into the macho debug map, but llvm-dsymutil does not (I tried with upstream/master, swift-llvm, and upstream/release_40). To reproduce:
$ cat /tmp/test.swift
let x = 42
print("x = (x)")
$ swiftc /tmp/test.swift -g -Onone -sdk "/Applications/Xcode_9.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk" -o /tmp/test -save-temps
$ llvm-dsymutil /tmp/test -dump-debug-map
$ "/Applications/Xcode_9.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil" /tmp/test -dump-debug-map
Notice that the swiftmodule file appears in the debug map when xcode is used, but not when llvm-dsymutil is used. This failure causes an inability to debug (for example printing the value of x) with lldb if llvm-dsymutil is used.
The text was updated successfully, but these errors were encountered: