aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcall.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2010-02-28 17:56:37 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2010-02-28 17:56:37 +0000
commit0e095b7eee9adf0be7109de8662647df7d0ee0ac (patch)
tree2966c8a00c5696de38c10dc6842fd7363ae9ef4e /gdb/infcall.c
parent2f9e05b472ff58f7c5f12b9d4e79a2cd8748a1d0 (diff)
downloadgdb-0e095b7eee9adf0be7109de8662647df7d0ee0ac.zip
gdb-0e095b7eee9adf0be7109de8662647df7d0ee0ac.tar.gz
gdb-0e095b7eee9adf0be7109de8662647df7d0ee0ac.tar.bz2
gdb/
* infcall.c (call_function_by_hand): Remove gdb_assert on sp and old_sp. New comment. gdb/testsuite/ * gdb.base/callfuncs.exp: New tests for $spval 0 and -1. Remove return.
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r--gdb/infcall.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c
index e642894..2d8bd2c 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -518,10 +518,9 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
/* Stack grows up. */
sp = gdbarch_frame_align (gdbarch, old_sp + 1);
}
- gdb_assert ((gdbarch_inner_than (gdbarch, 1, 2)
- && sp <= old_sp)
- || (gdbarch_inner_than (gdbarch, 2, 1)
- && sp >= old_sp));
+ /* SP may have underflown address zero here from OLD_SP. Memory access
+ functions will probably fail in such case but that is a target's
+ problem. */
}
else
/* FIXME: cagney/2002-09-18: Hey, you loose!