From: Nicholas Nethercote Date: Mon, 18 Oct 2004 15:47:18 +0000 (+0000) Subject: Increase the size of M_VG_ERRTXT from 512B to 4KB, increasing the size of C++ X-Git-Tag: svn/VALGRIND_3_0_0~1507 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e0e17fab32deb1941b7e8dbd4db86eb9cc6bd40b;p=thirdparty%2Fvalgrind.git Increase the size of M_VG_ERRTXT from 512B to 4KB, increasing the size of C++ names that can be demangled. MERGE TO STABLE git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2787 --- diff --git a/coregrind/core.h b/coregrind/core.h index 68ebcfe693..4a972b1125 100644 --- a/coregrind/core.h +++ b/coregrind/core.h @@ -115,7 +115,7 @@ #define M_VG_LIBNAMESTR 100 /* Max length of a text fragment used to construct error messages. */ -#define M_VG_ERRTXT 512 +#define M_VG_ERRTXT 4096 /* Max length of the string copied from env var VG_ARGS at startup. */ #define M_VG_CMDLINE_STRLEN 1000 diff --git a/coregrind/vg_errcontext.c b/coregrind/vg_errcontext.c index 4ceda4237b..5a2274ec5b 100644 --- a/coregrind/vg_errcontext.c +++ b/coregrind/vg_errcontext.c @@ -332,7 +332,7 @@ void construct_error ( Error* err, ThreadId tid, ErrorKind ekind, Addr a, static void gen_suppression(Error* err) { Int i; - UChar buf[M_VG_ERRTXT]; + static UChar buf[M_VG_ERRTXT]; Bool main_done = False; ExeContext* ec = VG_(get_error_where)(err); Int stop_at = VG_(clo_backtrace_size); @@ -986,8 +986,8 @@ static Supp* is_suppressible_error ( Error* err ) { Int i; - Char caller_obj[VG_N_SUPP_CALLERS][M_VG_ERRTXT]; - Char caller_fun[VG_N_SUPP_CALLERS][M_VG_ERRTXT]; + static Char caller_obj[VG_N_SUPP_CALLERS][M_VG_ERRTXT]; + static Char caller_fun[VG_N_SUPP_CALLERS][M_VG_ERRTXT]; Supp* su; diff --git a/coregrind/vg_symtab2.c b/coregrind/vg_symtab2.c index 34daa6961e..87f21c5f75 100644 --- a/coregrind/vg_symtab2.c +++ b/coregrind/vg_symtab2.c @@ -2145,9 +2145,9 @@ Char* VG_(describe_eip)(Addr eip, Char* buf, Int n_buf) UInt lineno; UChar ibuf[20]; UInt n = 0; - UChar buf_fn[M_VG_ERRTXT]; - UChar buf_obj[M_VG_ERRTXT]; - UChar buf_srcloc[M_VG_ERRTXT]; + static UChar buf_fn[M_VG_ERRTXT]; + static UChar buf_obj[M_VG_ERRTXT]; + static UChar buf_srcloc[M_VG_ERRTXT]; Bool know_fnname = VG_(get_fnname) (eip, buf_fn, M_VG_ERRTXT); Bool know_objname = VG_(get_objname)(eip, buf_obj, M_VG_ERRTXT); Bool know_srcloc = VG_(get_filename_linenum)(eip, buf_srcloc, M_VG_ERRTXT, @@ -2185,7 +2185,7 @@ Char* VG_(describe_eip)(Addr eip, Char* buf, Int n_buf) void VG_(mini_stack_dump) ( Addr eips[], UInt n_eips ) { UInt i; - UChar buf[M_VG_ERRTXT]; + static UChar buf[M_VG_ERRTXT]; Bool main_done = False; Int stop_at = n_eips; diff --git a/coregrind/vg_to_ucode.c b/coregrind/vg_to_ucode.c index c4832ae6aa..afd4804b6b 100644 --- a/coregrind/vg_to_ucode.c +++ b/coregrind/vg_to_ucode.c @@ -3857,7 +3857,7 @@ static Addr disInstr ( UCodeBlock* cb, Addr eip, Bool* isEnd ) Int t1, t2, t3, t4; UChar dis_buf[50]; Int am_sz, d_sz; - Char loc_buf[M_VG_ERRTXT]; + static Char loc_buf[M_VG_ERRTXT]; /* Holds eip at the start of the insn, so that we can print consistent error messages for unimplemented insns. */