This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] bitfield-parent-optimized-out: Fix struct definition
- From: Andreas Arnez <arnez at linux dot vnet dot ibm dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 11 Nov 2016 20:37:17 +0100
- Subject: [PATCH] bitfield-parent-optimized-out: Fix struct definition
- Authentication-results: sourceware.org; auth=none
The "struct S" type in bitfield-parent-optimized-out.exp is declared to
have a size of 4 bytes but to hold two 4-byte members: an int-based
bitfield and a 4-byte int. Also, both members have the same
data_member_location 2, causing them to overlap and to reach 2 bytes
beyond the structure's boundary.
This is fixed by increasing the structure size to 8 and setting the
first and second member's data_member_location to 0 and 4, respectively.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/bitfield-parent-optimized-out.exp: Fix DWARF code for
the definition of struct S.
---
gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp b/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp
index 27d8044..b789970 100644
--- a/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp
+++ b/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp
@@ -43,19 +43,18 @@ Dwarf::assemble $asm_file {
struct_label: structure_type {
{name S}
- {byte_size 4 DW_FORM_sdata}
+ {byte_size 8 DW_FORM_sdata}
} {
member {
{name bitfield}
{type :$int_label}
{bit_size 12 DW_FORM_sdata}
{bit_offset 20 DW_FORM_sdata}
- {data_member_location 2 DW_FORM_sdata}
}
member {
{name intfield}
{type :$int_label}
- {data_member_location 2 DW_FORM_sdata}
+ {data_member_location 4 DW_FORM_sdata}
}
}
--
2.3.0