diff: fix stack tracing bug again
Fergus Henderson
fjh at cs.mu.OZ.AU
Sun Feb 28 13:00:28 AEDT 1999
Estimated hours taken: 0.5
Re-fix a bug that was causing mdb's detailed stack traces to come out
incorrectly on some occaisions. Erwan's recent changes accidentally
removed my previous fix of this bug. Also fix another related bug
that I didn't notice last time.
trace/mercury_trace_external.c:
trace/mercury_trace_tables.c:
Fix a bug: `maybe_from_full' should have type `Integer', not `Word'.
runtime/mercury_trace_base.c:
Fix a bug: `maybe_from_full' should have type `Integer', not `bool'.
Index: runtime/mercury_trace_base.c
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_trace_base.c,v
retrieving revision 1.11
diff -u -r1.11 mercury_trace_base.c
--- mercury_trace_base.c 1999/02/20 06:08:08 1.11
+++ mercury_trace_base.c 1999/02/28 01:50:18
@@ -89,7 +89,7 @@
** control in the debugger when main/2 is called.
*/
-Bool MR_trace_from_full = 1;
+Bool MR_trace_from_full = TRUE;
#ifdef MR_TRACE_HISTOGRAM
@@ -106,7 +106,7 @@
MR_trace(const MR_Stack_Layout_Label *layout, MR_Trace_Port port,
const char * path, int max_mr_num)
{
- bool maybe_from_full;
+ Integer maybe_from_full;
Unsigned seqno;
Unsigned depth;
Index: trace/mercury_trace_external.c
===================================================================
RCS file: /home/mercury1/repository/mercury/trace/mercury_trace_external.c,v
retrieving revision 1.9
diff -u -r1.9 mercury_trace_external.c
--- mercury_trace_external.c 1999/02/19 16:17:49 1.9
+++ mercury_trace_external.c 1999/02/28 01:51:00
@@ -919,7 +919,8 @@
if (base_sp != NULL && base_curfr != NULL) {
bool print_details = FALSE;
if (MR_ENTRY_LAYOUT_HAS_EXEC_TRACE(entry)) {
- Word maybe_from_full = entry->MR_sle_maybe_from_full;
+ Integer maybe_from_full =
+ entry->MR_sle_maybe_from_full;
if (maybe_from_full > 0) {
/*
** for procedures compiled with shallow
Index: trace/mercury_trace_tables.c
===================================================================
RCS file: /home/mercury1/repository/mercury/trace/mercury_trace_tables.c,v
retrieving revision 1.5
diff -u -r1.5 mercury_trace_tables.c
--- mercury_trace_tables.c 1999/02/18 23:33:01 1.5
+++ mercury_trace_tables.c 1999/02/28 01:51:07
@@ -408,7 +408,8 @@
if (base_sp != NULL && base_curfr != NULL) {
bool print_details = FALSE;
if (MR_ENTRY_LAYOUT_HAS_EXEC_TRACE(entry)) {
- Word maybe_from_full = entry->MR_sle_maybe_from_full;
+ Integer maybe_from_full =
+ entry->MR_sle_maybe_from_full;
if (maybe_from_full > 0) {
/*
** for procedures compiled with shallow
--
Fergus Henderson <fjh at cs.mu.oz.au> | "Binaries may die
WWW: <http://www.cs.mu.oz.au/~fjh> | but source code lives forever"
PGP: finger fjh at 128.250.37.3 | -- leaked Microsoft memo.
More information about the developers
mailing list