From 8d164e0cd719fff3db67b868b0d942c7296890a2 Mon Sep 17 00:00:00 2001 From: jistone Date: Sat, 11 Aug 2007 02:19:25 +0000 Subject: 2007-08-10 Josh Stone PR 4593 * translate.cxx (c_unparser::emit_common_header): Add an error_buffer to the context to allow dynamic error messages. * tapsets.cxx (dwflpp::express_as_string): Let deref / store_deref fill in last_error with a detailed message. runtime/ * loc2c-runtime.h (deref, store_deref): Set an error message with the pointer value and name into last_error, since it's hard to determine the details once you've already jumped to deref_fault. tapset/ * conversions.stp (kernel_string, kernel_long, kernel_int, kernel_short, kernel_char, user_string_warn): Use the CONTEXT->error_buffer to create an error message instead of a static local array. --- tapsets.cxx | 3 --- 1 file changed, 3 deletions(-) (limited to 'tapsets.cxx') diff --git a/tapsets.cxx b/tapsets.cxx index eee1a6bc..3b08a348 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -1763,12 +1763,9 @@ struct dwflpp fprintf(memstream, "if (0) goto deref_fault;\n"); // XXX: deref flag not reliable; emit fault label unconditionally - // XXX: print the faulting address, like the user_string/kernel_string - // tapset functions do (void) deref; fprintf(memstream, "deref_fault:\n" - " c->last_error = \"pointer dereference fault\";\n" " goto out;\n"); fprintf(memstream, "}\n"); -- cgit