summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/asan_debugging.cc
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2014-09-26 05:25:37 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2014-09-26 05:25:37 +0000
commitdb22cd17217762e8f404a88af54510a0109e4599 (patch)
tree437d0292828feffccd8ed305a0009a8995250f79 /compiler-rt/lib/asan/asan_debugging.cc
parentee90a223ead9d1389e0538401e8c88cffa4e7507 (diff)
downloadbcm5719-llvm-db22cd17217762e8f404a88af54510a0109e4599.tar.gz
bcm5719-llvm-db22cd17217762e8f404a88af54510a0109e4599.zip
[compiler-rt] revert r218481 due to test failure on sanitizer-x86_64-linux
llvm-svn: 218501
Diffstat (limited to 'compiler-rt/lib/asan/asan_debugging.cc')
-rw-r--r--compiler-rt/lib/asan/asan_debugging.cc70
1 files changed, 0 insertions, 70 deletions
diff --git a/compiler-rt/lib/asan/asan_debugging.cc b/compiler-rt/lib/asan/asan_debugging.cc
index 2b41f6785e6..05198a78703 100644
--- a/compiler-rt/lib/asan/asan_debugging.cc
+++ b/compiler-rt/lib/asan/asan_debugging.cc
@@ -17,70 +17,10 @@
#include "asan_flags.h"
#include "asan_internal.h"
#include "asan_mapping.h"
-#include "asan_report.h"
#include "asan_thread.h"
namespace __asan {
-void GetInfoForStackVar(uptr addr, AddressDescription *descr, AsanThread *t) {
- descr->name[0] = 0;
- descr->region_address = 0;
- descr->region_size = 0;
- descr->region_kind = "stack";
-
- uptr offset = 0;
- uptr frame_pc = 0;
- const char *frame_descr = t->GetFrameNameByAddr(addr, &offset, &frame_pc);
- InternalMmapVector<StackVarDescr> vars(16);
- if (!ParseFrameDescription(frame_descr, &vars)) {
- return;
- }
-
- for (uptr i = 0; i < vars.size(); i++) {
- if (offset <= vars[i].beg + vars[i].size) {
- internal_strncat(descr->name, vars[i].name_pos,
- Min(descr->name_size, vars[i].name_len));
- descr->region_address = addr - (offset - vars[i].beg);
- descr->region_size = vars[i].size;
- return;
- }
- }
-}
-
-void GetInfoForHeapAddress(uptr addr, AddressDescription *descr) {
- AsanChunkView chunk = FindHeapChunkByAddress(addr);
-
- descr->name[0] = 0;
- descr->region_address = 0;
- descr->region_size = 0;
-
- if (!chunk.IsValid()) {
- descr->region_kind = "heap-invalid";
- return;
- }
-
- descr->region_address = chunk.Beg();
- descr->region_size = chunk.UsedSize();
- descr->region_kind = "heap";
-}
-
-void AsanLocateAddress(uptr addr, AddressDescription *descr) {
- if (DescribeAddressIfShadow(addr, descr, /* print */ false)) {
- return;
- }
- if (GetInfoForAddressIfGlobal(addr, descr)) {
- return;
- }
- asanThreadRegistry().Lock();
- AsanThread *thread = FindThreadByStackAddress(addr);
- asanThreadRegistry().Unlock();
- if (thread) {
- GetInfoForStackVar(addr, descr, thread);
- return;
- }
- GetInfoForHeapAddress(addr, descr);
-}
-
uptr AsanGetStack(uptr addr, uptr *trace, uptr size, u32 *thread_id,
bool alloc_stack) {
AsanChunkView chunk = FindHeapChunkByAddress(addr);
@@ -116,16 +56,6 @@ uptr AsanGetStack(uptr addr, uptr *trace, uptr size, u32 *thread_id,
using namespace __asan;
SANITIZER_INTERFACE_ATTRIBUTE
-const char *__asan_locate_address(uptr addr, char *name, uptr name_size,
- uptr *region_address, uptr *region_size) {
- AddressDescription descr = { name, name_size, 0, 0, 0 };
- AsanLocateAddress(addr, &descr);
- if (region_address) *region_address = descr.region_address;
- if (region_size) *region_size = descr.region_size;
- return descr.region_kind;
-}
-
-SANITIZER_INTERFACE_ATTRIBUTE
uptr __asan_get_alloc_stack(uptr addr, uptr *trace, uptr size, u32 *thread_id) {
return AsanGetStack(addr, trace, size, thread_id, /* alloc_stack */ true);
}
OpenPOWER on IntegriCloud