[Bug tapsets/30407] Tapset function print_ubacktrace_fileline() no longer works with DWARF5

mcermak at redhat dot com sourceware-bugzilla@sourceware.org
Fri Jul 14 15:25:20 GMT 2023


https://sourceware.org/bugzilla/show_bug.cgi?id=30407

--- Comment #4 from Martin Cermak <mcermak at redhat dot com> ---
Created attachment 14964
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14964&action=edit
A WIP patch showing line numbers, but no file names yet

First time I see DWARF this closely.  The attached WIP patch allows for showing
the line numbers already.  The DWARF structure change roughly is as follows:

DWARF-4                                      DWARF-5
==================================================================
unit_length                                  unit_length
version (uhalf)                              version (uhalf)
---                                          address_size (ubyte)
---                                          segment_selector_size (ubyte)
header_length                                header_length
minimum_instruction_length (ubyte)           minimum_instruction_length (ubyte)
maximum_operations_per_instruction (ubyte)   maximum_operations_per_instruction
(ubyte)
default_is_stmt (ubyte)                      default_is_stmt (ubyte)
line_base (sbyte)                            line_base (sbyte)
line_range (ubyte)                           line_range (ubyte)
opcode_base (ubyte)                          opcode_base (ubyte)
standard_opcode_lengths (array of ubyte)     standard_opcode_lengths (array of
ubyte)
include_directories (sequence of path names) ---
file_names (sequence of file entries)        ---
---                                          directory_entry_format_count
(ubyte)
---                                          directory_entry_format (sequence
of ULEB128 pairs)
---                                          directories_count (ULEB128)
---                                          directories (sequence of directory
names)
---                                          file_name_entry_format_count
(ubyte)
---                                          file_name_entry_format (sequence
of ULEB128 pairs)
---                                          file_names_count (ULEB128)
---                                          file_names (sequence of file name
entries)



So, the attached WIP patch merely jumps over address_size and
segment_selector_size for now. Looking into how to display the file name now...

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Systemtap mailing list