* gdb.base/gdb1476.exp: Only run the tests if we can't read the
authorMark Kettenis <kettenis@gnu.org>
Wed, 7 Jan 2004 22:12:34 +0000 (22:12 +0000)
committerMark Kettenis <kettenis@gnu.org>
Wed, 7 Jan 2004 22:12:34 +0000 (22:12 +0000)
memory at address 0.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/gdb1476.exp

index 3d96343..32b6985 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-07  Mark Kettenis  <kettenis@gnu.org>
+
+       * gdb.base/gdb1476.exp: Only run the tests if we can't read the
+       memory at address 0.
+
 2004-01-07  Michael Chastain  <mec.gnu@mindspring.com>
 
        * gdb.stabs/weird.exp: Use hp_cc_compiler and hp_aCC_compiler
index a65157a..ed338db 100644 (file)
@@ -48,6 +48,21 @@ if ![runto_main] then {
     gdb_suppress_tests
 }
 
+# If we can examine what's at memory address 0, it is possible that we
+# could also execute it.  This could pobably make us run away,
+# executing random code, which could have all sorts of ill effects,
+# especially on targets without an MMU.  Don't run the tests in that
+# case.
+
+send_gdb "x 0\n"
+gdb_expect {
+    -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
+    -re ".*$gdb_prompt $" {
+       untested "Memory at address 0 is possibly executable"
+       return
+    }
+}
+
 gdb_test "continue" "Program received signal SIGSEGV.*" \
        "continue to null pointer call"