]> gcc.gnu.org Git - gcc.git/commit
dwarf2ctf: the unit of sou field location is bits [PR101283]
authorIndu Bhagat <indu.bhagat@oracle.com>
Tue, 6 Jul 2021 20:53:58 +0000 (13:53 -0700)
committerIndu Bhagat <indu.bhagat@oracle.com>
Tue, 6 Jul 2021 21:07:39 +0000 (14:07 -0700)
commit151b423a82f4bf15e3225833028f5258ea254cb9
tree686a85ce5e8e4980a14312076ac1b1e1a4cf7ef2
parent4f6e181181a48c341e524653cae0885fd170131e
dwarf2ctf: the unit of sou field location is bits [PR101283]

If the value of the DW_AT_data_member_location attribute is constant, the
associated unit is bytes. This patch amends incorrect behaviour which was being
exercised with -gdwarf-2. This caused some of the failures as noted in PR
debug/101283 (specifically the BTF tests involving btm_offset).

The testcase ctf-struct-array-2.c was erroneously checking for the value of
ctm_offset in number of bytes.

The patch fixes the calculation of the field location value for a struct member
in dwarf2ctf and adjusts the testcase. This patch also fixes some of the
failing tests as noted in PR debug/101283.

2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>

gcc/ChangeLog:

PR debug/101283
* dwarf2ctf.c (ctf_get_AT_data_member_location): Multiply by 8 to get
number of bits.

gcc/testsuite/ChangeLog:

PR debug/101283
* gcc.dg/debug/ctf/ctf-struct-array-2.c: Adjust the value in the testcase.
gcc/dwarf2ctf.c
gcc/testsuite/gcc.dg/debug/ctf/ctf-struct-array-2.c
This page took 0.377725 seconds and 6 git commands to generate.