[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/29267] New: readelf..info misreports DW_FORM_loclistx, DW

From: sevaa at sprynet dot com
Subject: [Bug binutils/29267] New: readelf..info misreports DW_FORM_loclistx, DW_FORM_rnglistx
Date: Mon, 20 Jun 2022 18:04:07 +0000


            Bug ID: 29267
           Summary: readelf..info misreports DW_FORM_loclistx,
           Product: binutils
           Version: 2.39 (HEAD)
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: sevaa at sprynet dot com
  Target Milestone: ---

When readelf --debug-dump=info prints attributes of type DW_FORM_loclistx,
DW_FORM_rnglistx, it prints what should be the offset of the loclist/rangelist
in the respective section. The raw value of this attribute is supposed to be an
index into the offsets table in the compilation unit header inside the
debug_loclists  or debug_rnglists sections, respectively, while the address of
the offset table itself should be taken from the DW_AT_loclists_base or
DW_AT_rnglists_base, respecively, in the CU's top DIE.

But it looks like readelf looks up the offset in the debug_addr section,
instead of debug_loclists/debug_rnglists section.

This even causes warnings of type "Offset into section .debug_addr too big:",
because the offset was never meant to be in .debug_addr.

I've got a repro for that from clang++-11, but it's big. I'll try to find a
smaller one.

You are receiving this mail because:
You are on the CC list for the bug.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]