From: Julian Seward Date: Sun, 1 May 2005 08:55:38 +0000 (+0000) Subject: New flag --trace-cfi=yes|no [no], which is for debugging the CFI reader. X-Git-Tag: svn/VALGRIND_3_0_0~735 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d86f35b2dcf9768acc241f830353a9376657e0a7;p=thirdparty%2Fvalgrind.git New flag --trace-cfi=yes|no [no], which is for debugging the CFI reader. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3583 --- diff --git a/coregrind/core.h b/coregrind/core.h index 4f80a171b9..55e0bf6176 100644 --- a/coregrind/core.h +++ b/coregrind/core.h @@ -231,6 +231,8 @@ extern Bool VG_(clo_trace_syscalls); extern Bool VG_(clo_trace_signals); /* DEBUG: print symtab details? default: NO */ extern Bool VG_(clo_trace_symtab); +/* DEBUG: print call-frame-info details? default: NO */ +extern Bool VG_(clo_trace_cfi); /* DEBUG: print redirection details? default: NO */ extern Bool VG_(clo_trace_redir); /* DEBUG: print thread scheduling events? default: NO */ diff --git a/coregrind/vg_main.c b/coregrind/vg_main.c index 6ff29c7138..c16bb00a7a 100644 --- a/coregrind/vg_main.c +++ b/coregrind/vg_main.c @@ -1435,6 +1435,7 @@ Int VG_(clo_trace_notbelow) = 0; Bool VG_(clo_trace_syscalls) = False; Bool VG_(clo_trace_signals) = False; Bool VG_(clo_trace_symtab) = False; +Bool VG_(clo_trace_cfi) = False; Bool VG_(clo_trace_redir) = False; Bool VG_(clo_trace_sched) = False; Bool VG_(clo_trace_pthreads) = False; @@ -1509,6 +1510,7 @@ static void usage ( Bool debug_help ) " --trace-syscalls=no|yes show all system calls? [no]\n" " --trace-signals=no|yes show signal handling details? [no]\n" " --trace-symtab=no|yes show symbol table details? [no]\n" +" --trace-cfi=no|yes show call-frame-info details? [no]\n" " --trace-sched=no|yes show thread scheduler details? [no]\n" " --wait-for-gdb=yes|no pause on startup to wait for gdb attach\n" #if 0 @@ -1704,6 +1706,7 @@ static void process_cmd_line_options( UInt* client_auxv, const char* toolname ) else VG_BOOL_CLO(arg, "--trace-sched", VG_(clo_trace_sched)) else VG_BOOL_CLO(arg, "--trace-signals", VG_(clo_trace_signals)) else VG_BOOL_CLO(arg, "--trace-symtab", VG_(clo_trace_symtab)) + else VG_BOOL_CLO(arg, "--trace-cfi", VG_(clo_trace_cfi)) else VG_BOOL_CLO(arg, "--trace-redir", VG_(clo_trace_redir)) else VG_BOOL_CLO(arg, "--trace-syscalls", VG_(clo_trace_syscalls)) else VG_BOOL_CLO(arg, "--trace-pthreads", VG_(clo_trace_pthreads)) diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml index bc524b20af..894c6d9e2b 100644 --- a/docs/xml/manual-core.xml +++ b/docs/xml/manual-core.xml @@ -1076,7 +1076,20 @@ Nevertheless: --trace-symtab=no [default] --trace-symtab=yes - Enable/disable tracing of symbol table reading. + Enable/disable tracing of symbol table reading and line + number info reading. + + + + --trace-cfi=no + [default] + --trace-cfi=yes + Enable/disable tracing of call-frame-info reading. + Call-frame-info (CFI) is information inserted by compilers + which describes the relationship between adjacent call frames. + On architectures which by default do not use a frame pointer, + such as AMD64, this information is essential for creating stack + snapshots.