[PATCH] D58105: docs: Update the ShadowCallStack documentation.

Peter Collingbourne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 12 14:45:02 PST 2019


pcc added inline comments.


================
Comment at: clang/docs/ShadowCallStack.rst:62-71
+The instrumentation makes use of the platform register ``x18``.  On some
+platforms, ``x18`` is reserved, and on others, it is designated as a scratch
+register.  This generally means that any code that may run on the same thread
+as code compiled with ShadowCallStack must either target one of the platforms
+whose ABI reserves ``x18`` (currently Android, Darwin, Fuchsia and Windows)
+or be compiled with the flag ``-ffixed-x18``. If absolutely necessary, code
+compiled without ``-ffixed-x18`` may be run on the same thread as code that
----------------
kristof.beyls wrote:
> Thanks for the documentation - I thought it was easy to read through and understand.
> The only nit pick: would it be worthwhile to also call out here that because of the use of register x18, the ShadowCallStack feature is incompatible with any other feature that may use x18?
Yes, I added a paragraph about that after this one.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D58105





More information about the llvm-commits mailing list