[PATCH] D103304: Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always).

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 4 23:56:37 PDT 2021


vitalybuka requested changes to this revision.
vitalybuka added a comment.
This revision now requires changes to proceed.

I looked at Lazy approach and it's simpler then I thought. Asan already contains all needed pieces.
Considering that we have not idea how to handle Windows and Darwin we should do that in this patch.

Cloning of GetFakeStackFast -> GetFakeStackFastAlways which does not check __asan_option_detect_stack_use_after_return should be enough.

static FakeStack *GetFakeStackFast() {

  if (FakeStack *fs = GetTLSFakeStack())
    return fs;
  if (!__asan_option_detect_stack_use_after_return)
    return nullptr;
  return GetFakeStack();

}

static FakeStack *GetFakeStackFastAlways() {

  if (FakeStack *fs = GetTLSFakeStack())
    return fs;
  return GetFakeStack();

}

And same for all callers.
Anything __asan_detect_use_after_return_always related can be reverted.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103304/new/

https://reviews.llvm.org/D103304



More information about the llvm-commits mailing list