This is an archive of the discontinued LLVM Phabricator instance.

[sanitizer] Add delta compression stack depot
ClosedPublic

Authored by vitalybuka on Nov 23 2021, 10:54 PM.

Diff Detail

Event Timeline

vitalybuka requested review of this revision.Nov 23 2021, 10:54 PM
vitalybuka created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptNov 23 2021, 10:54 PM
Herald added a subscriber: Restricted Project. · View Herald Transcript
dvyukov added inline comments.Nov 24 2021, 7:39 AM
compiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
225–262

Can the packed data be larger than the unpacked data?

vitalybuka added inline comments.Nov 24 2021, 10:59 AM
compiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
225–262

Practically no. For the compression in this patch we need (at average) ptr difference with highest bits set to overflow leb128 to add additional byte.

CompressDelta has CHECK_LT(from, from_end) to protect agains that, but I can add graceful failure?

morehouse accepted this revision.Nov 29 2021, 12:47 PM
morehouse added inline comments.
compiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
200

For consistency.

228
230
247

For consistency with surrounding style.

250
This revision is now accepted and ready to land.Nov 29 2021, 12:47 PM
vitalybuka marked 5 inline comments as done.

unpack fallback

This revision was landed with ongoing or failed builds.Nov 30 2021, 8:19 PM
This revision was automatically updated to reflect the committed changes.
hans added a subscriber: hans.Dec 1 2021, 10:55 AM

This broke building the asan runtime on Windows. Can you revert if this can't be fixed quickly?

hans added a comment.Dec 1 2021, 11:07 AM

This broke building the asan runtime on Windows. Can you revert if this can't be fixed quickly?

Phrabricator ate my comment. The breakage is because MprotectReadOnly() isn't defined on Windows, see e.g. https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8829028791639816401/+/u/package_clang/stdout

I've reverted in b1bc627e7e9965e6ec15e106ee4b2c21f6c36923 in the meantime.

This broke building the asan runtime on Windows. Can you revert if this can't be fixed quickly?

Phrabricator ate my comment. The breakage is because MprotectReadOnly() isn't defined on Windows, see e.g. https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8829028791639816401/+/u/package_clang/stdout

I've reverted in b1bc627e7e9965e6ec15e106ee4b2c21f6c36923 in the meantime.

Sorry, I just noticed this. Thanks for revert.

vitalybuka reopened this revision.Dec 1 2021, 7:38 PM
This revision is now accepted and ready to land.Dec 1 2021, 7:38 PM
This revision was landed with ongoing or failed builds.Dec 2 2021, 10:51 AM
This revision was automatically updated to reflect the committed changes.