Git Product home page Git Product logo

Comments (17)

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
>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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
>> 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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
>>> 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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
>> 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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
> 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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
I wish not to depend on libstc++ by default. 

Original comment by [email protected] on 26 Mar 2012 at 8:21

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
Issue 134 has been merged into this issue.

Original comment by [email protected] on 15 Feb 2013 at 2:28

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
Issue 206 has been merged into this issue.

Original comment by [email protected] on 4 Oct 2013 at 10:39

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 26, 2024
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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.