This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Fix wrong assertions
- From: Andreas Schwab <schwab at linux-m68k dot org>
- To: gdb-patches at sourceware dot org
- Date: Sat, 09 May 2015 20:56:55 +0200
- Subject: [PATCH] Fix wrong assertions
- Authentication-results: sourceware.org; auth=none
Both callers and callees are lengths, and the sum of them can validly
equal the total length.
Andreas.
PR symtab/18392
* dwarf2-frame-tailcall.c (pretended_chain_levels): Correct
assertion.
* dwarf2loc.c (chain_candidate): Likewise.
---
gdb/dwarf2-frame-tailcall.c | 2 +-
gdb/dwarf2loc.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gdb/dwarf2-frame-tailcall.c b/gdb/dwarf2-frame-tailcall.c
index b412a5b..f964ab2 100644
--- a/gdb/dwarf2-frame-tailcall.c
+++ b/gdb/dwarf2-frame-tailcall.c
@@ -197,7 +197,7 @@ pretended_chain_levels (struct call_site_chain *chain)
return chain->length;
chain_levels = chain->callers + chain->callees;
- gdb_assert (chain_levels < chain->length);
+ gdb_assert (chain_levels <= chain->length);
return chain_levels;
}
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index d811106..29b265b 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -827,7 +827,7 @@ chain_candidate (struct gdbarch *gdbarch, struct call_site_chain **resultp,
PC again. In such case there must be two different code paths to reach
it, therefore some of the former determined intermediate PCs must differ
and the unambiguous chain gets shortened. */
- gdb_assert (result->callers + result->callees < result->length);
+ gdb_assert (result->callers + result->callees <= result->length);
}
/* Create and return call_site_chain for CALLER_PC and CALLEE_PC. All the
--
2.4.0
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."