Skip to content

🍒/ganymede/7a204362f5c6cb97308be543f77ace8d8285ffef #2327

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

Conversation

JDevlieghere
Copy link

  • [DWARFLinker] Print the unsupport DWARF form as part of the warning
  • [DWARFLinker] Link against BinaryFormat
  • [MC] Make getEHFrameSection const like every other getter (NFC)
  • [dsymutil] Warn on timestmap mismatch between object file and debug map
  • [dsymutil] Copy eh_frame content into the dSYM companion file.
  • [dsymutil] s/dwarfdump/llvm-dwarfdump/ in test
  • [dsymutil] Fix spurious space in REQUIRES: line
  • [dsymutil] Add preliminary support for DWARF 5.

Add a warning when the timestmap doesn't match between the object file
and the debug map entry. We were already emitting such warnings for
archive members and swift interface files. This patch also unifies the
warning across all three.

rdar://65614640

Differential revision: https://reviews.llvm.org/D94536

(cherry picked from commit e5553b9)
Copy over the __eh_frame from the binary into the dSYM. This helps
kernel developers that are working with only dSYMs (i.e. no binaries)
when debugging a core file. This only kicks in when the __eh_frame
exists in the linked binary. Most of the time ld64 will remove the
section in favor of compact unwind info. When it is emitted, it's
generally small enough and should not bloat the dSYM.

rdar://69774935

Differential revision: https://reviews.llvm.org/D94460

(cherry picked from commit 8a47d87)
This test is incorrectly running on non-darwin hosts.

(cherry picked from commit 35e4998)
Currently dsymutil will silently fail when processing binaries with
Dwarf 5 debug info. This patch adds rudimentary support for Dwarf 5 in
dsymutil.

 - Recognize relocations in the debug_addr section.
 - Recognize (a subset of) Dwarf 5 form values.
 - Emits valid Dwarf 5 compile unit header chains.

To simplify things (and avoid having to emit indexed sections) I decided
to emit the relocated addresses directly in the debug info section.

 - DW_FORM_strx gets relocated and rewritten to DW_FORM_strp
 - DW_FORM_addrx gets relocated and rewritten to DW_FORM_addr

Obviously there's a lot of work left, but this should be a step in the
right direction.

rdar://62345491

Differential revision: https://reviews.llvm.org/D94323

(cherry picked from commit f1d5cbb)
@JDevlieghere
Copy link
Author

@swift-ci please test macos

@JDevlieghere JDevlieghere merged commit 07153da into apple/stable/20210107 Jan 13, 2021
@JDevlieghere JDevlieghere deleted the 🍒/ganymede/7a204362f5c6cb97308be543f77ace8d8285ffef branch January 13, 2021 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant