summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.python/py-inferior.c6
-rw-r--r--gdb/testsuite/gdb.python/py-inferior.exp2
3 files changed, 12 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 515f0eb434a..b192a47e399 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2011-06-08 Joel Brobecker <brobecker@adacore.com>
+
+ * gdb.python/py-inferior.c (f2): Make str an array rather
+ than a pointer.
+ * gdb.python/py-inferior.exp: Adjust testcase accordingly.
+
2011-06-07 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/async-shell.c: New file.
diff --git a/gdb/testsuite/gdb.python/py-inferior.c b/gdb/testsuite/gdb.python/py-inferior.c
index dd83ffc4767..04ec4769263 100644
--- a/gdb/testsuite/gdb.python/py-inferior.c
+++ b/gdb/testsuite/gdb.python/py-inferior.c
@@ -17,7 +17,11 @@ static int search_buf_size;
int f2 (int a)
{
- char *str = "hello, testsuite";
+ /* We use a `char[]' type below rather than the typical `char *'
+ to make sure that `str' gets allocated on the stack. Otherwise,
+ the compiler may place the "hello, testsuite" string inside
+ a read-only section, preventing us from over-writing it from GDB. */
+ char str[] = "hello, testsuite";
puts (str); /* Break here. */
diff --git a/gdb/testsuite/gdb.python/py-inferior.exp b/gdb/testsuite/gdb.python/py-inferior.exp
index 42ca920a820..b853c791b49 100644
--- a/gdb/testsuite/gdb.python/py-inferior.exp
+++ b/gdb/testsuite/gdb.python/py-inferior.exp
@@ -75,7 +75,7 @@ gdb_py_test_silent_cmd "python str = gdb.inferiors()\[0\].read_memory (addr, 5)"
gdb_py_test_silent_cmd "python str\[1\] = 'a'" "change str" 0
gdb_py_test_silent_cmd "python gdb.inferiors()\[0\].write_memory (addr, str)" \
"write str" 1
-gdb_test "print str" " = 0x\[\[:xdigit:\]\]+ \"hallo, testsuite\"" \
+gdb_test "print str" " = \"hallo, testsuite\"" \
"ensure str was changed in the inferior"
# Test memory search.