This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. bdf22206150b19e4903e9cbc520de2c49b2a2b7f
- From: aburgess at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 17 Dec 2013 17:27:27 -0000
- Subject: gdb and binutils branch master updated. bdf22206150b19e4903e9cbc520de2c49b2a2b7f
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via bdf22206150b19e4903e9cbc520de2c49b2a2b7f (commit)
from 4a357820add595557dcd08d275288a4bcf43cbcb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bdf22206150b19e4903e9cbc520de2c49b2a2b7f
commit bdf22206150b19e4903e9cbc520de2c49b2a2b7f
Author: Andrew Burgess <aburgess@broadcom.com>
Date: Tue Dec 17 17:18:44 2013 +0000
Convert the unavailable vector to be bit, not byte, based.
https://sourceware.org/ml/gdb-patches/2013-12/msg00144.html
The vector of unavailable parts of a value is currently byte based. Given
that we can model a value down to the bit level, we can potentially loose
information with the current implementation. After this patch we model the
unavailable information in bits.
gdb/ChangeLog
* dwarf2loc.c (read_pieced_value): Mark bits, not bytes
unavailable, use correct bit length.
* value.c (struct value): Extend comment on unavailable to
indicate that it is bit based.
(value_bits_available): New function.
(value_bytes_available): Call value_bits_available.
(value_entirely_available): Check against the bit length, not byte
length.
(mark_value_bits_unavailable): New function.
(mark_value_bytes_unavailable): Move contents to
mark_value_bits_unavailable, call to same.
(memcmp_with_bit_offsets): New function.
(value_available_contents_bits_eq): New function, takes the
functionality from value_available_contents_eq but uses
memcmp_with_bit_offsets now, and is bit not byte based.
(value_available_contents_eq): Move implementation into
value_available_contents_bits_eq, call to same.
(value_contents_copy_raw): Work on bits, not bytes.
(unpack_value_bits_as_long_1): Check availability in bits, not
bytes.
* value.h (value_bits_available): Declare new function.
(mark_value_bits_unavailable): Declare new function.
gdb/testsuite/ChangeLog
* gdb.trace/unavailable-dwarf-piece.c: New file.
* gdb.trace/unavailable-dwarf-piece.exp: New file.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 25 ++
gdb/dwarf2loc.c | 2 +-
gdb/testsuite/ChangeLog | 5 +
gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c | 86 +++++
.../gdb.trace/unavailable-dwarf-piece.exp | 334 ++++++++++++++++++++
gdb/value.c | 181 ++++++++++--
gdb/value.h | 14 +
7 files changed, 625 insertions(+), 22 deletions(-)
create mode 100644 gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
create mode 100644 gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
hooks/post-receive
--
gdb and binutils