diff options
author | jistone <jistone> | 2007-08-11 02:19:25 +0000 |
---|---|---|
committer | jistone <jistone> | 2007-08-11 02:19:25 +0000 |
commit | 8d164e0cd719fff3db67b868b0d942c7296890a2 (patch) | |
tree | 06fbb801caf3f3a5c59c69d56df98ad368b5627f /translate.cxx | |
parent | 7bccd5b6f9778a91a1e66a52689d690bf2228131 (diff) | |
download | systemtap-steved-8d164e0cd719fff3db67b868b0d942c7296890a2.tar.gz systemtap-steved-8d164e0cd719fff3db67b868b0d942c7296890a2.tar.xz systemtap-steved-8d164e0cd719fff3db67b868b0d942c7296890a2.zip |
2007-08-10 Josh Stone <joshua.i.stone@intel.com>
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.
Diffstat (limited to 'translate.cxx')
-rw-r--r-- | translate.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/translate.cxx b/translate.cxx index e6bd4e12..54878a40 100644 --- a/translate.cxx +++ b/translate.cxx @@ -1,6 +1,6 @@ // translation pass // Copyright (C) 2005-2007 Red Hat Inc. -// Copyright (C) 2005, 2006 Intel Corporation +// Copyright (C) 2005-2007 Intel Corporation. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General @@ -853,6 +853,7 @@ c_unparser::emit_common_header () o->newline() << "const char *probe_point;"; o->newline() << "int actionremaining;"; o->newline() << "unsigned nesting;"; + o->newline() << "string_t error_buffer;"; o->newline() << "const char *last_error;"; // NB: last_error is used as a health flag within a probe. // While it's 0, execution continues |