From 7b243f93d3a32de5df4941a1e4d3715bf834b2fb Mon Sep 17 00:00:00 2001 From: Rong Tao Date: Fri, 17 Mar 2023 14:26:04 +0800 Subject: [PATCH] Add DWARF5 attribute forms DW_FORM_line_strp This submit try to fix issue #159 [0] gcc[1] commit 3aa46b47b266("dwarf2out.c (debug_line_str_section): New variable.") introduct DW_FORM_line_strp = 31(0x1f). Error message: $ perf record -b -e br_inst_retired.near_taken:pp -- ./redis-server $ create_gcov --binary=./redis-server --profile=perf.data \ --gcov=redis-server.gcov -gcov_version=1 ... F20230317 14:17:19.056878 32875 dwarf2reader.cc:836] Unhandled form type *** Check failure stack trace: *** Aborted (core dumped) [0] https://github.com/google/autofdo/issues/159 [1] git://gcc.gnu.org/git/gcc.git Signed-off-by: Rong Tao --- util/symbolize/dwarf2reader.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/util/symbolize/dwarf2reader.cc b/util/symbolize/dwarf2reader.cc index 4fe621d..6c21058 100644 --- a/util/symbolize/dwarf2reader.cc +++ b/util/symbolize/dwarf2reader.cc @@ -716,6 +716,7 @@ const char* CompilationUnit::ProcessAttribute( return start + datalen + len; break; } + case DW_FORM_line_strp: case DW_FORM_strp: { CHECK(string_buffer_ != NULL); const uint64 offset = reader_->ReadOffset(start);