" --run-libc-freeres=no|yes free up glibc memory at exit? [yes]\n"
" --simulation-hints=hint1,hint2,... known hints:\n"
" lax-ioctls, enable-outer [none]\n"
-" --pointercheck=no|yes enforce client address space limits [yes]\n"
" --show-emwarns=no|yes show warnings about emulation limits? [no]\n"
" --smc-check=none|stack|all checks for self-modifying code: none,\n"
" only for code found in stacks, or all [stack]\n"
else VG_BOOL_CLO(arg, "--db-attach", VG_(clo_db_attach))
else VG_BOOL_CLO(arg, "--demangle", VG_(clo_demangle))
else VG_BOOL_CLO(arg, "--error-limit", VG_(clo_error_limit))
- else VG_BOOL_CLO(arg, "--pointercheck", VG_(clo_pointercheck))
else VG_BOOL_CLO(arg, "--show-emwarns", VG_(clo_show_emwarns))
else VG_NUM_CLO (arg, "--max-stackframe", VG_(clo_max_stackframe))
else VG_BOOL_CLO(arg, "--profile", VG_(clo_profile))
VG_(load_suppressions)();
}
- //--------------------------------------------------------------
- // Setup pointercheck
- // p: layout_remaining_space() [for VG_(client_{base,end})]
- // p: process_cmd_line_options() [for VG_(clo_pointercheck)]
- //--------------------------------------------------------------
- //if (VG_(clo_pointercheck))
- // VG_(clo_pointercheck) =
- // VG_(setup_pointercheck)( VG_(client_base), VG_(client_end));
-
//--------------------------------------------------------------
// register client stack
//--------------------------------------------------------------
Bool VG_(clo_run_libc_freeres) = True;
Bool VG_(clo_track_fds) = False;
Bool VG_(clo_show_below_main)= False;
-Bool VG_(clo_pointercheck) = True;
Bool VG_(clo_model_pthreads) = False;
Bool VG_(clo_show_emwarns) = False;
Int VG_(clo_max_stackframe) = 2000000;
/* General Protection Fault: The CPU/kernel
isn't telling us anything useful, but this
is commonly the result of exceeding a
- segment limit, such as the one imposed by
- --pointercheck=yes. */
- if (VG_(clo_pointercheck))
- event = "GPF (Pointer out of bounds?)";
- else
- event = "General Protection Fault";
+ segment limit. */
+ event = "General Protection Fault";
haveaddr = False;
break;
}
extern Bool VG_(clo_run_libc_freeres);
/* Continue stack traces below main()? Default: NO */
extern Bool VG_(clo_show_below_main);
-/* Test each client pointer dereference to check it's within the
- client address space bounds */
-extern Bool VG_(clo_pointercheck);
/* Model the pthread library */
extern Bool VG_(clo_model_pthreads);
using this parameter. The supplied value must be between 8 and 4096
inclusive, and must be a power of two.
-.TP
-.B
---pointercheck=<yes|no> [default: yes]
-When enabled, enforces client address space limits. If this option is
-disabled, the client program has full and unfettered access to the part
-of the address space used internally by \fBvalgrind\fP. This can cause
-unexplained crashes and false error reports, so it is best left enabled.
-
.TP
.B
--run-libc-freeres=<yes|no> [default: yes]
</itemizedlist>
</listitem>
- <listitem id="pointer_check">
- <para><computeroutput>--pointercheck=yes</computeroutput> [default]</para>
- <para><computeroutput>--pointercheck=no</computeroutput></para>
- <para>This option make Valgrind generate a check on every memory
- reference to make sure it is within the client's part of the
- address space. This prevents stray writes from damaging
- Valgrind itself. On x86, this uses the CPU's segmentation
- machinery, and has almost no performance cost; there's almost
- never a reason to turn it off. On the other architectures this
- option is currently ignored as they don't have a cheap way of achieving
- the same functionality.</para>
- </listitem>
-
<listitem id="show_emwarns">
<para><computeroutput>--show-emwarns=no</computeroutput> [default]</para>
<para><computeroutput>--show-emwarns=yes</computeroutput></para>
--run-libc-freeres=no|yes free up glibc memory at exit? [yes]
--simulation-hints=hint1,hint2,... known hints:
lax-ioctls, enable-outer [none]
- --pointercheck=no|yes enforce client address space limits [yes]
--show-emwarns=no|yes show warnings about emulation limits? [no]
--smc-check=none|stack|all checks for self-modifying code: none,
only for code found in stacks, or all [stack]
--run-libc-freeres=no|yes free up glibc memory at exit? [yes]
--simulation-hints=hint1,hint2,... known hints:
lax-ioctls, enable-outer [none]
- --pointercheck=no|yes enforce client address space limits [yes]
--show-emwarns=no|yes show warnings about emulation limits? [no]
--smc-check=none|stack|all checks for self-modifying code: none,
only for code found in stacks, or all [stack]