From: Nicholas Nethercote Date: Mon, 18 Oct 2004 15:56:18 +0000 (+0000) Subject: Increase the size of M_VG_ERRTXT from 512B to 4KB, increasing the size of C++ X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c79eb4dc7bc9d688ae7d02783526c9ebf57178c;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. MERGED FROM HEAD git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_2_2_0_BRANCH@2788 --- diff --git a/coregrind/vg_errcontext.c b/coregrind/vg_errcontext.c index 53e94a4f19..0e08175003 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); @@ -985,8 +985,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_include.h b/coregrind/vg_include.h index ce84d1e6e5..f620c1d302 100644 --- a/coregrind/vg_include.h +++ b/coregrind/vg_include.h @@ -74,7 +74,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_symtab2.c b/coregrind/vg_symtab2.c index ea2f0a3d32..c0e803cba9 100644 --- a/coregrind/vg_symtab2.c +++ b/coregrind/vg_symtab2.c @@ -2174,9 +2174,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, @@ -2214,7 +2214,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 63d2c63118..b1847439f8 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. */