This is an archive of the discontinued LLVM Phabricator instance.

[asan] Update the llvm webpage describing ASan
ClosedPublic

Authored by zaks.anna on Jun 18 2015, 6:24 PM.

Details

Summary

This commit contains several updates to the Address Sanitizer webpage:

  • Add the description of the interceptor suppression ("Suppressing Reports in external Libraries")
  • Re-organized a bit: grouped a few things under the Issue Suppression section, grouped IOC and leaks under a section, placed symbolication info into Symbolizing the Reports section..
  • "MacOS" -> "OS X"
  • Added a paragraph to the Usage section describing when DYLD_INSERT_LIBRARIES might need to be used.

(I've added the generated html into the Test Plan. Hope that works:))

Diff Detail

Event Timeline

zaks.anna updated this revision to Diff 27984.Jun 18 2015, 6:24 PM
zaks.anna retitled this revision from to [asan] Update the llvm webpage describing ASan.
zaks.anna updated this object.
zaks.anna edited the test plan for this revision. (Show Details)
zaks.anna added reviewers: kcc, glider, samsonov.
zaks.anna added subscribers: kubamracek, Unknown Object (MLST).

Let's try to add the generated html again:

samsonov edited edge metadata.Jun 19 2015, 4:29 PM

Thanks for working on this!

docs/AddressSanitizer.rst
64

I would prefer bullet points for reasons.

66

I think we don't have to mention Valgrind, and just claim that all ASan errors are true positives, and
the program can be in inconsistent state, causing confusing results, and (potentially) misleading
subsequent reports.

235–236

I wonder if we can bump it to 10.7...

275

That's weird to have this at the very bottom. Maybe, put between limitations and platforms?

282

While you're here.... it's not experimental anymore - it's on by default for Linux. (not implemented on Mac)

zaks.anna added inline comments.Jun 19 2015, 4:51 PM
docs/AddressSanitizer.rst
66

Will do. This was copy and pasted from the original.

235–236

I'd definitely be ok with this!

282

What about Android and FreeBSD? Is it only available on Linux?

samsonov added inline comments.Jun 19 2015, 5:12 PM
docs/AddressSanitizer.rst
235–236

Yes, I see that we already build runtime with -mmacosx-version-min=10.7

282

Yes, for now it's Linux-only (though porting to FreeBSD is probably manageable).

zaks.anna updated this revision to Diff 28063.Jun 19 2015, 5:33 PM
zaks.anna edited edge metadata.
  • Addressed Alexey's review comments.
  • Moved the Additional Checks much closer to the top.
  • Updated the LeakSanitizer page as well.
samsonov accepted this revision.Jun 19 2015, 6:52 PM
samsonov edited edge metadata.

LGTM

docs/AddressSanitizer.rst
69

s/inconstant/inconsistent?

This revision is now accepted and ready to land.Jun 19 2015, 6:52 PM
glider accepted this revision.Jun 22 2015, 9:56 AM
glider edited edge metadata.

LGTM with a couple of nits.

docs/AddressSanitizer.rst
69

"the program heap" instead of "the program", maybe?

78

"the ASan library"

130

IIRC this feature still doesn't work on OSX, shall we mention that?

195–196

What about __attribute__((no_sanitize("address")))?

254

Shall we reflect the current iOS port state?

zaks.anna added inline comments.Jun 22 2015, 11:00 AM
docs/AddressSanitizer.rst
69

It does not have to be the heap; it can be anything. All you know is that something is trying to access an address that is not accessible.

78

I am going to correct the capitalization and add the following:
(You can find the library by searching for dynamic libraries with "asan" in their name.)

130

What about Android and FreeBSD?

195–196

Should we suggest using attribute((no_sanitize("address"))) instead of attribute((no_sanitize_address))?

And not mention attribute((no_sanitize_address)) at all?

samsonov added inline comments.Jun 22 2015, 2:52 PM
docs/AddressSanitizer.rst
130

Should work there.

195–196

Yeah, we want no_sanitize("list", "of", "sanitizers") to eventually replace it.

zaks.anna updated this revision to Diff 28167.Jun 22 2015, 3:32 PM
zaks.anna edited edge metadata.

Addressed comments from glider.

Still LGTM
So what about the iOS port?

docs/AddressSanitizer.rst
69

Agreed.

In r240725
(I've added iOS Simulator as supported.)

zaks.anna closed this revision.Jun 25 2015, 6:13 PM