summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-01-03 11:12:34 -0700
committerTom Tromey <tom@tromey.com>2018-01-15 15:11:34 -0700
commit5429afd6529f3a7dc7d733fc21053ca3ecadd033 (patch)
tree4fba99ecc8292db75ba8a69269dd0c3d0251cdef /libiberty
parent503a19e5d9e3d97d640a4b98a365d2a0302a24f5 (diff)
Fix scm-ports.exp regression
In https://sourceware.org/ml/gdb-patches/2017-12/msg00215.html, Jan pointed out that the scalar printing patches caused a regression in scm-ports.exp on x86. What happens is that on x86, this: set sp_reg [get_integer_valueof "\$sp" 0] ... ends up setting sp_reg to a negative value, because get_integer_valueof uses "print/d": print /d $sp $1 = -11496 Then later the test suite does: gdb_test "guile (print (seek rw-mem-port (value->integer sp-reg) SEEK_SET))" \ "= $sp_reg" \ "seek to \$sp" ... expecting this value to be identical to the saved $sp_reg value. However it gets: guile (print (seek rw-mem-port (value->integer sp-reg) SEEK_SET)) = 4294955800 "print" is just a wrapper for guile's format: gdb_test_no_output "guile (define (print x) (format #t \"= ~A\" x) (newline))" The seek function returns a scm_t_off, the printing of which is handled by guile, not by gdb. Tested on x86-64 Fedora 26 using an ordinary build and also a -m32 build. 2018-01-15 Tom Tromey <tom@tromey.com> * gdb.guile/scm-ports.exp (test_mem_port_rw): Use get_valueof to compute sp_reg.
Diffstat (limited to 'libiberty')
0 files changed, 0 insertions, 0 deletions