[LLVMdev] load widening conflicts with AddressSanitizer
Duncan Sands
baldrick at free.fr
Tue Jan 24 12:31:21 PST 2012
Hi Kostya,
> As far as I can see the C and C++ standards are not relevant. ASAN works on
> LLVM IR, not on C or C++. Lots of different languages have LLVM frontends. I
> personally turn Ada and Fortran into LLVM IR all the time for example. Clearly
> the C standard is not relevant to LLVM IR coming from such languages. What
> matters is how LLVM IR is defined. As far as I know this construct is perfectly
> valid in LLVM IR.
>
>
> Asan will not work for Fortran and Ada anyway (at least, out of the box).
> I am not even sure that anything like asan is needed for Ada (it has bounds
> checking built-in, the dynamic memory allocation is much more restrictive).
> The tool is rather specific to C/C++ (and ObjectiveC probably, although we have
> almost no tests for ObjectiveC, nor much knowledge in it).
> Yes, the IR transformations are done on the LLVM level, but the asan run-time
> library heavily depends on the C/C++ semantics and even implementation,
> and you can't really separate the asan instrumentation pass from the run-time.
it's pretty disappointing to hear that asan is basically just for C. But since
it is, I won't bother you anymore about this attribute (though I still don't
like it much).
Ciao, Duncan.
More information about the llvm-dev
mailing list