aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/py-evts.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2023-04-20 15:47:41 -0600
committerTom Tromey <tom@tromey.com>2023-05-11 15:47:37 -0600
commit245f9db1fa8a355e9b18d0966fe20d6341e36813 (patch)
treecd6ba023a81f8f75b29a180699a2ca47f8794592 /gdb/python/py-evts.c
parentb7ea736a38013510cd0496b42a8eb2dd2d2f6830 (diff)
downloadbinutils-245f9db1fa8a355e9b18d0966fe20d6341e36813.zip
binutils-245f9db1fa8a355e9b18d0966fe20d6341e36813.tar.gz
binutils-245f9db1fa8a355e9b18d0966fe20d6341e36813.tar.bz2
Do not print <synthetic pointer> when piece is optimized out
A user reported a bug where printing a certain array of integer types would result in the nonsensical: (gdb) p l_126 $1 = {6639779683436459270, <synthetic pointer>, <synthetic pointer>, <synthetic pointer>} I tracked this down to some issues in the DWARF expression code. First, check_pieced_synthetic_pointer did not account for the situation where a location expression does not describe all the bits of a value -- in this case it returned true, meaning there is a synthetic pointer, but in fact these bits are optimized out. (It turns out this incorrect output had already been erroneously tested for as well.) Next, rw_pieced_value did not mark these bits as optimized-out, either. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30296
Diffstat (limited to 'gdb/python/py-evts.c')
0 files changed, 0 insertions, 0 deletions