On Fri, Feb 7, 2014 at 3:44 PM, Yuri Gribov <[email protected]> wrote:
> >> I don't think that REAL() currently checks anything: > > > > REAL doesn't check anything. Some interceptors do the checks > > That's what I meant to say - instead or relying on interceptors (I'm > pretty sure we missed something out or may miss in future), just check > it directly in REAL(). > That's an overkill. Doing a check in REAL() will require disruptive changes and may negatively affect performance, while if REAL(foo) is NULL when it's called we'll get a SEGV with a descriptive stack strace. > > >> Are you sure? I don't see any ctors in compiler-rt trunk: > > > > The compiler eimits a CTOR function that call __asan_init > > Is this one coming from asan_preinit? What about unsanitized > executable with preloaded ASan runtime? My proposal was to add ctor > directly to ASan runtime. > Do you have a test case where it would help? > > > First, debug output concerns only developers, not (most) users. > > Well, debug output is the first thing people will check when something > goes wrong with ASan DSO will stop working for them so I think it > makes sense to give some hints. > > > Second, what does this output mean? > > I suspect that this means the same thing as with -static-libstdc++ -- > asan > > failed to intercept one of the functions is wants to intercept. > > Not really, it's the idiosyncrasy of Linux ld.so which resolves > intercepted symbols to PLT entries in main executable instead of ASan > interceptors. These warnings are really spurious and misleading > (please refer to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58680 for > more details). > Ah. Now I remember this. Yes, we may want to improve the warning to handle the PLT case. No idea how, and the change would need to be testable in LLVM tree, which in turn requires that we build and support asan-dso in llvm tree as a non-default alternative to the static run-time. We may eventually get to it, but no promises. --kcc -- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
