Fixup gdb.python/py-value.exp for bare-metal aarch64-elf
authorLuis Machado <lgustavo@codesourcery.com>
Wed, 12 Oct 2016 15:10:03 +0000 (10:10 -0500)
committerLuis Machado <lgustavo@codesourcery.com>
Wed, 12 Oct 2016 15:10:03 +0000 (10:10 -0500)
commit4dac951e11030b43b17f52df8bdfa7432e4bf73c
tree6fc502ccf004ba3bd3dc1ab5053c78747678b56b
parent4a2f4826907de97b089295000a67d2497aa94c99
Fixup gdb.python/py-value.exp for bare-metal aarch64-elf

I noticed that testing aarch64-elf gdb with a physical board
ran into issues with gdb.python/py-value.exp. Further investigation showed
that we were actually trying to dereference a NULL pointer (argv) when trying
to access argv[0].

Being bare-metal, argv is not guaranteed to be valid. So we need to make sure
argv is sane before accessing argv[0].

The following patch fixes up the test program to check for a NULL argv and also
improves the testcase a bit so it doesn't have to work with a hardcoded argc
value.

Regression-tested on x86-64 Ubuntu 16.04.

gdb/testsuite/ChangeLog:

2016-10-12  Luis Machado  <lgustavo@codesourcery.com>

* gdb.python/py-value.c (main): Check if argv is NULL before using it.
* gdb.python/py-value.exp (test_value_in_inferior): Don't use hardcoded
argc values.
Add 1 to argc so we guarantee distinct initial/modified argc values.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.python/py-value.c
gdb/testsuite/gdb.python/py-value.exp