diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-12-17 16:46:50 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-12-17 16:46:50 -0800 |
| commit | fe683dfb80498fa3336c6f5f96b6b82917ac08b3 (patch) | |
| tree | 6a3c95ac14609fcfbc0aba9f967f3bf01c2188c6 /src/rt/rust_task.cpp | |
| parent | 00be34608914681e9a0a14611fc5ced6cffa32ec (diff) | |
| download | rust-fe683dfb80498fa3336c6f5f96b6b82917ac08b3.tar.gz rust-fe683dfb80498fa3336c6f5f96b6b82917ac08b3.zip | |
rt: Get rid of the valgrind guard bytes at the end of the stack
Preventing us from writing beyond our allocations is _what valgrind does_, so telling valgrind not to let us write to the end of the stack isn't buying anything.
Diffstat (limited to 'src/rt/rust_task.cpp')
| -rw-r--r-- | src/rt/rust_task.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 7434a4673cd..0f5a6904ff1 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -15,22 +15,15 @@ #include "globals.h" -// Each stack gets some guard bytes that valgrind will verify we don't touch -#ifndef NVALGRIND -#define STACK_NOACCESS_SIZE 16 -#else -#define STACK_NOACCESS_SIZE 0 -#endif - // The amount of extra space at the end of each stack segment, available // to the rt, compiler and dynamic linker for running small functions // FIXME: We want this to be 128 but need to slim the red zone calls down #ifdef __i386__ -#define RED_ZONE_SIZE (65536 + STACK_NOACCESS_SIZE) +#define RED_ZONE_SIZE 65536 #endif #ifdef __x86_64__ -#define RED_ZONE_SIZE (65536 + STACK_NOACCESS_SIZE) +#define RED_ZONE_SIZE 65536 #endif // Stack size @@ -80,19 +73,11 @@ config_valgrind_stack(stk_seg *stk) { // caused valgrind to consider the whole thing inaccessible. size_t sz = stk->end - (uintptr_t)&stk->data[0]; VALGRIND_MAKE_MEM_UNDEFINED(stk->data, sz); - - // Establish some guard bytes so valgrind will tell - // us if we run off the end of the stack - VALGRIND_MAKE_MEM_NOACCESS(stk->data, STACK_NOACCESS_SIZE); #endif } static void unconfig_valgrind_stack(stk_seg *stk) { -#ifndef NVALGRIND - // Make the guard bytes accessible again, but undefined - VALGRIND_MAKE_MEM_UNDEFINED(stk->data, STACK_NOACCESS_SIZE); -#endif VALGRIND_STACK_DEREGISTER(stk->valgrind_id); } |
