diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2023-01-16 14:25:39 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-16 14:25:39 -0500 |
| commit | e22a1fbe18fe8039137382655ca131c614aa808d (patch) | |
| tree | 8dba6b14e25b68ed2e1eb602f65c993081a8c47f /test | |
| parent | 30bd2a32faf2d592d2df821c65431ca5f5cec736 (diff) | |
addr2line.c: Don't special-case DWARF 5 parsing with GCC
While trying to fix YJIT's symbol hygiene issue over at GH-7115, I found
that addr2line.c's DWARF 5 parsing is half-disabled when building with
GCC. Rust's output contains some DW_AT_rnglists_base records, which the
disabled code reads. Without DW_AT_rnglists_base, it crashes when
generating a backtrace.
In common Ruby build configurations, GCC opts to only use
DW_FORM_sec_offset for the range lists, and so it doesn't generate
DW_AT_rnglists_base records, so consuming GCC's DWARF 5 while building
with GCC was not a problem.
However, even when building with GCC, we might need to parse DWARF 5
generated by other compilers at runtime. They could come from C
extensions built by Clang, or come from Rust extensions. This
can happen even when building without YJIT.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/7123
Merged-By: XrXr
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions
