Comments (17)
Hello, do you have an estimate as to when this will be available?
Original comment by [email protected]
on 13 Jan 2012 at 10:14
from address-sanitizer.
Nope. We did not start yet, sorry. :(
If asan_symbolize.py does not work for you, please let us know why (in a
separate mail or bug)
Original comment by [email protected]
on 13 Jan 2012 at 10:21
from address-sanitizer.
we need this for tsan as well.
Dmitry, could you please handle this?
Original comment by [email protected]
on 14 Feb 2012 at 2:42
from address-sanitizer.
I've created the lldb symbolizer prototype for tsan:
http://code.google.com/p/data-race-test/source/browse/trunk/v2/tsan/tsan_symboli
ze_lldb_linux.cc
It works. One needs to manually build liblldb.so first.
Several patches are committed to lldb, one still in flight
(SBTarget::SetModuleLoadAddress() may print spurious warnings, but must
generally work otherwise).
LLDB does not work with -pie on Linux, reported but not fixed yet.
Symbolizer is unlikely to be separated from LLDB, so we will depend on LLDB if
take this route.
LLDB is a huge piece of C++ code, so we will need libstdc++ and will have
recursive interceptors (it calls malloc/etc).
Original comment by [email protected]
on 26 Mar 2012 at 9:09
- Changed state: Started
from address-sanitizer.
>LLDB does not work with -pie on Linux, reported but not fixed yet.
http://llvm.org/bugs/show_bug.cgi?id=12355
Original comment by [email protected]
on 26 Mar 2012 at 9:17
from address-sanitizer.
>> and will have recursive interceptors
OMG. Hopefully not. We do not have to symbolize inside malloc.
Original comment by [email protected]
on 26 Mar 2012 at 2:31
from address-sanitizer.
Also, is it possible to implement the symbolizer as an LD_PRELOAD-able library?
Original comment by [email protected]
on 26 Mar 2012 at 2:36
from address-sanitizer.
>>> and will have recursive interceptors
>OMG. Hopefully not. We do not have to symbolize inside malloc.
That was related to tsan.
>Also, is it possible to implement the symbolizer as an LD_PRELOAD-able library?
Generally I do not see any obstacles, however I am not sure whether it will
work in all our contexts.
Original comment by [email protected]
on 26 Mar 2012 at 2:41
from address-sanitizer.
Could we make it dlopen()able instead? LD_PRELOAD sounds like a strange choice
of an interface between 2 libraries, both of which we control.
stdc++ dependency in the rtl is undesirable on Android, but definitely not a
show stopper.
Original comment by [email protected]
on 26 Mar 2012 at 6:30
from address-sanitizer.
>> Could we make it dlopen()able instead?
I think so
Original comment by [email protected]
on 26 Mar 2012 at 6:38
from address-sanitizer.
> Could we make it dlopen()able instead? LD_PRELOAD sounds like a strange
choice of an interface between 2 libraries, both of which we control.
Well, currently I have 3 separate source files with different symbolizers
(null, addr2line, lldb) in tsan. One of them is chosen during build. In every
context we know which one we need, so it looks fine as is. Do we really need to
switch symbolizers dynamically?
Original comment by [email protected]
on 26 Mar 2012 at 7:51
from address-sanitizer.
one reason to chose between null and lldb symbolizers at run-time is that lldb
symbolizer does not come for free (it has a run-time cost) and we may want to
produce
warnings with null symbolizer very fast.
Original comment by [email protected]
on 26 Mar 2012 at 7:54
from address-sanitizer.
Then we build with lldb symbolizer and turn off symbolization (but do not
switch the symbolizer) at runtime.
Original comment by [email protected]
on 26 Mar 2012 at 7:57
from address-sanitizer.
I wish not to depend on libstc++ by default.
Original comment by [email protected]
on 26 Mar 2012 at 8:21
from address-sanitizer.
Issue 134 has been merged into this issue.
Original comment by [email protected]
on 15 Feb 2013 at 2:28
from address-sanitizer.
Issue 206 has been merged into this issue.
Original comment by [email protected]
on 4 Oct 2013 at 10:39
from address-sanitizer.
The goal of this issue seems to be changed to "Build isolated non-instrumented
in-process symbolizer" or so.
Original comment by [email protected]
on 23 Dec 2013 at 2:57
from address-sanitizer.
Related Issues (20)
- ASan instrumentation should work with -O0 HOT 6
- need to instrument thread-local globals HOT 1
- Clang+ASan incorrectly handles exceptions. HOT 3
- warn on missing blacklist, better errmsg HOT 2
- [deleted issue]
- Blacklist regexp errors silently lead to blacklist not working HOT 1
- double-free / invalid-free errors should use Report instead of Printf HOT 2
- asan false positives caused by dlcose HOT 1
- Issue with -faddress-sanitizer in combination with -Os/-O2 HOT 6
- ASan unittest (32-bit) fail to link with fresh googletest HOT 4
- mach_override may conflict with that in the client programs HOT 1
- _Unwind_Backtrace cannot unwind past wrap___cxa_throw on Mac HOT 3
- slow asan start-up on Mac 64-bit HOT 23
- Add -C option to addr2line to de-mangle names HOT 1
- get rid of sysinfo/sysinfo.cc HOT 2
- CHECK fails on linux and program doesn't launch HOT 14
- clang and clang++ behave differently on a small OOB test HOT 4
- Deal with ASLR on Mac OS HOT 8
- can't static link against gflags HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from address-sanitizer.