[PATCH] D100919: [AArch64] Support customizing stack protector guard

Nick Desaulniers via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 23 17:40:37 PDT 2021


nickdesaulniers added inline comments.


================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3114
 
   if (Arg *A = Args.getLastArg(options::OPT_mstack_protector_guard_offset_EQ)) {
     StringRef Value = A->getValue();
----------------
nickdesaulniers wrote:
> TODO: GCC treats this as mutually exclusive when OPT_mstack_protector_guard_EQ == global.
And it does so inconsistently; it errors for aarch64, but does literally nothing (no warning, no change to codegen) for x86. I don't plan to be bug compatible here.


================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3138
     }
+    if (EffectiveTriple.isAArch64() && Value != "sp_el0") {
+      D.Diag(diag::err_drv_invalid_value_with_suggestion)
----------------
nickdesaulniers wrote:
> TODO: can we re-use `AArch64SysReg::lookupSysRegByName` in the frontend?
I don't think so because `llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h` is under lib/ not include/. Not sure if I should just remove reg validation?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100919



More information about the cfe-commits mailing list