diff options
author | Yuta Saito <[email protected]> | 2023-08-01 03:56:53 +0900 |
---|---|---|
committer | GitHub <[email protected]> | 2023-07-31 14:56:53 -0400 |
commit | 954b7ac81ef503df3c1efc5566df985b08951d52 (patch) | |
tree | 5d325620fa06c8035de13713adcde74ff3630d68 /lib | |
parent | 36d669b73db26368cb9492231be4b3d4ed97f111 (diff) |
addr2line.c: fix `DW_FORM_ref_addr` parsing for DWARF 2 (#8146)
addr2line.c: fix DW_FORM_ref_addr parsing for DWARF 2
This fixes a crash when retrieving backtrace info with YJIT enabled on
macOS with Rust 1.71.0. Since Rust 1.71.0, the DWARF info generated by
the Rust compiler uses DW_FORM_ref_addr instead of DW_FORM_ref4 for
pointers to other DIEs.
DW_FORM_ref_addr representation in DWARF 2 is different from DWARF 3+,
so we need to handle it separately.
This patch fixes the parsing of DW_FORM_ref_addr for DWARF 2, which is
the default DWARF version Rustc uses on macOS.
See the DWARF 2.0.0 spec, section 7.5.4 Attribute Encodings
https://dwarfstd.org/doc/dwarf-2.0.0.pdf
https://bugs.ruby-lang.org/issues/19789
Notes
Notes:
Merged-By: maximecb <[email protected]>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions