<div dir="ltr">This is posted as Issue 250501.1:<div><br></div><div><a href="https://dwarfstd.org/issues/250501.1.html">https://dwarfstd.org/issues/250501.1.html</a></div><div><br></div><div>-cary</div><div><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Apr 29, 2025 at 10:24 AM Tom Tromey via Dwarf-discuss <<a href="mailto:dwarf-discuss@lists.dwarfstd.org">dwarf-discuss@lists.dwarfstd.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>>>>> "Simon" == Simon Marchi <<a href="mailto:simark@simark.ca" target="_blank">simark@simark.ca</a>> writes:<br>
<br>
Simon> Just to make sure I understand, can you clarify how<br>
Simon> DW_AT_data_member_location and DW_AT_bit_offset are used in this<br>
Simon> case?  In particular, which one is constant and which one is an<br>
Simon> evaluated expression?<br>
<br>
Dynamic DW_AT_data_member_location, static DW_AT_bit_offset:<br>
<br>
<br>
 <5><117a>: Abbrev Number: 17 (DW_TAG_member)<br>
    <117b>   DW_AT_name        : (indirect string, offset: 0x1959): another_field<br>
...<br>
    <1188>   DW_AT_bit_offset  : 6<br>
    <1189>   DW_AT_data_member_location: 6 byte block: 99 3d 1 0 0 22   (DW_OP_call4: <0x1193>; DW_OP_plus)<br>
...<br>
 <3><1193>: Abbrev Number: 2 (DW_TAG_dwarf_procedure)<br>
    <1194>   DW_AT_location    : 15 byte block: 97 94 1 37 1a 32 1e 23 7 38 1b 31 1c 23 3       (DW_OP_push_object_address; DW_OP_deref_size: 1; DW_OP_lit7; DW_OP_and; DW_OP_lit2; DW_OP_mul; DW_OP_plus_uconst: 7; DW_OP_lit8; DW_OP_div; DW_OP_lit1; DW_OP_minus; DW_OP_plus_uconst: 3)<br>
<br>
<br>
This comes from the description of this gdb patch, which includes a test<br>
case.  (However, you'd need a patched GCC to get this output.)<br>
<br>
    <a href="https://sourceware.org/pipermail/gdb-patches/2025-April/217289.html" rel="noreferrer" target="_blank">https://sourceware.org/pipermail/gdb-patches/2025-April/217289.html</a><br>
<br>
Tom<br>
-- <br>
Dwarf-discuss mailing list<br>
<a href="mailto:Dwarf-discuss@lists.dwarfstd.org" target="_blank">Dwarf-discuss@lists.dwarfstd.org</a><br>
<a href="https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss" rel="noreferrer" target="_blank">https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss</a><br>
</blockquote></div>