This is an archive of the discontinued LLVM Phabricator instance.

phase 01: add new command line flag to enable UAR in 3 modes (always, [runtime], never).
AbandonedPublic

Authored by kda on Mar 30 2021, 6:20 PM.

Details

Reviewers
vitalybuka
Group Reviewers
Restricted Project

Diff Detail

Event Timeline

kda created this revision.Mar 30 2021, 6:20 PM
kda requested review of this revision.Mar 30 2021, 6:20 PM
Herald added projects: Restricted Project, Restricted Project, Restricted Project. · View Herald TranscriptMar 30 2021, 6:20 PM
Herald added subscribers: llvm-commits, Restricted Project, cfe-commits. · View Herald Transcript
kda updated this revision to Diff 335362.Apr 5 2021, 5:59 PM

I think this patch is near completion.
But the new code generated for the 'Always' case is definitely wrong.
I could use some coaching. I will eventually figure it out, but an interactive session would probably help me along.

kda added a reviewer: Restricted Project.Apr 5 2021, 6:01 PM
kda updated this revision to Diff 335558.Apr 6 2021, 9:44 AM

fixed tests for asan_interface.inc.

vitalybuka added a subscriber: vitalybuka.

Smaller incremental patches are highly encouraged. But I assume it's WIP.
In the first I'd recommend to try to land clang pieces and leave llvm and compiler-rt parts unchanged.

And I can with interactive session next week.

kda abandoned this revision.Apr 19 2021, 1:43 PM

will attempt in smaller pieces.

llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
3317–3334

I think this is where things start going wrong, but after a few hours looking, I'm not sure what the code should look like.
I know I don't want a branch, but I don't know how to just stick the call in to the stack allocator.
I think once that is right, then the pieces after it follow in a straightforwad manner.