From 7933ec0a69bac134b7cee4b60a5dc80743b2b1a9 Mon Sep 17 00:00:00 2001 From: Zequan Wu Date: Fri, 20 Aug 2021 16:00:30 -0700 Subject: [PATCH] Remove warning about unknown abstract origin Dwarf generated by Clang -g1 will not have DW_AT_inline attribute for some DW_TAG_subprograms even if they are inlined. This warning recently increased a lot (~ 3 million) due to DW_TAG_inlined_subroutine also complains about unknown abstract origin. It caused infra failure in building bots. Bug: 1241579 Change-Id: I9b5135925b71aa915760c140bcf73fc603bb77d3 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3111782 Reviewed-by: Joshua Peraza --- src/common/dwarf_cu_to_module.cc | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/common/dwarf_cu_to_module.cc b/src/common/dwarf_cu_to_module.cc index c51514b7..dacc9cbe 100644 --- a/src/common/dwarf_cu_to_module.cc +++ b/src/common/dwarf_cu_to_module.cc @@ -504,8 +504,6 @@ void DwarfCUToModule::GenericDIEHandler::ProcessAttributeReference( abstract_origin_ = &(origin->second); } else if (data > offset_) { forward_ref_die_offset_ = data; - } else { - cu_context_->reporter->UnknownAbstractOrigin(offset_, data); } specification_offset_ = data; break; @@ -750,14 +748,6 @@ void DwarfCUToModule::InlineHandler::Finish() { } } - // Malformed DWARF may omit the name, but all Module::Functions must - // have names. - // If we have a forward reference to a DW_AT_specification or - // DW_AT_abstract_origin, then don't warn, the name will be fixed up - // later - if (name_.empty() && forward_ref_die_offset_ == 0) - cu_context_->reporter->UnnamedFunction(offset_); - // Every DW_TAG_inlined_subroutine should have a DW_AT_abstract_origin. assert(specification_offset_ != 0); @@ -929,11 +919,6 @@ void DwarfCUToModule::FuncHandler::Finish() { if (!name_.empty()) { name = name_; } else { - // If we have a forward reference to a DW_AT_specification or - // DW_AT_abstract_origin, then don't warn, the name will be fixed up - // later - if (forward_ref_die_offset_ == 0) - cu_context_->reporter->UnnamedFunction(offset_); name = ""; }