[all-commits] [llvm/llvm-project] 05bd49: [BOLT] Fix DW_FORM_implicit_const values lost duri...

Rafael Auler via All-commits all-commits at lists.llvm.org
Tue Apr 14 17:31:00 PDT 2026


  Branch: refs/heads/users/rafaelauler/fix-pr-192084
  Home:   https://github.com/llvm/llvm-project
  Commit: 05bd49cf60698b740272e72ba8bac46a4a549265
      https://github.com/llvm/llvm-project/commit/05bd49cf60698b740272e72ba8bac46a4a549265
  Author: Rafael Auler <rafaelauler at fb.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/test/X86/dwarf5-locexpr-addrx.s

  Log Message:
  -----------
  [BOLT] Fix DW_FORM_implicit_const values lost during DWARF5 rewriting

Summary:
Fix two bugs in DIEBuilder that caused DW_FORM_implicit_const values to
be zeroed out when rewriting DWARF5 debug sections (--update-debug-sections).

1. In constructDIEFast(), DWARFFormValue was constructed with just the
   form code, leaving the value at 0. For DW_FORM_implicit_const,
   extractValue() is a no-op since the value is expected to be pre-set.
   Fix: use AttrSpec.getFormValue() which initializes the value from the
   abbreviation table.

2. In assignAbbrev(), AddAttribute(Attr.getAttribute(), Attr.getForm())
   used the two-argument overload which discards the implicit_const
   value. Fix: use AddAttribute(Attr) to copy the full DIEAbbrevData.

Fixes https://github.com/llvm/llvm-project/issues/192084



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list