Don't print symbol on address 0x0

We see the following fails on arm-none-eabi target,

print (void*)v_signed_char^M
$190 = (void *) 0x0 <_ftext>^M
(gdb) FAIL: gdb.base/exprs.exp: print (void*)v_signed_char (print
(void*)v_signed_char)

GDB behaves correctly but the test assumes there is no symbol on
address 0x0.  This patch is set print symbol off, so that tests below
can match the address only.

gdb/testsuite:

2014-07-11  Yao Qi  <yao@codesourcery.com>

	* gdb.base/exprs.exp: "set print symbol off".
This commit is contained in:
Yao Qi 2014-07-11 18:46:33 +08:00
parent e76126e8d1
commit 5401fde353
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2014-07-11 Yao Qi <yao@codesourcery.com>
* gdb.base/exprs.exp: "set print symbol off".
2014-07-11 Pedro Alves <palves@redhat.com>
* gdb.threads/kill.c: New file.

View File

@ -200,7 +200,9 @@ test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long > 0" "\\$\[0-
# Test expressions with casts to a pointer.
# NB: Some architectures convert a ``NULL'' pointer into
# something else. Don't simply test for 0.
#
# Prevent symbol on address 0x0 being printed.
gdb_test_no_output "set print symbol off"
test_expr "set variable v_signed_char = 0" "print (void*)v_signed_char" "\\$\[0-9\]* = .void \\*. $hex" "print (void*)v_signed_char"
test_expr "set variable v_signed_short = 0" "print (void*)v_signed_short" "\\$\[0-9\]* = .void \\*. $hex" "print (void*)v_signed_short"
test_expr "set variable v_signed_int = 0" "print (void*)v_signed_int" "\\$\[0-9\]* = .void \\*. $hex" "print (void*)v_signed_int"