diff options
| author | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2018-04-03 20:10:40 +0000 |
|---|---|---|
| committer | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2018-04-03 20:10:40 +0000 |
| commit | d17f61ea3bf5432dff6497ee5c1b85879e501da2 (patch) | |
| tree | 040a519e5c9671c1e20d8e4d4aa64c635bd02073 /llvm/docs | |
| parent | c6bf37d56d73d8ab1c1da86ce4cfd21afb0ab43a (diff) | |
| download | bcm5719-llvm-d17f61ea3bf5432dff6497ee5c1b85879e501da2.tar.gz bcm5719-llvm-d17f61ea3bf5432dff6497ee5c1b85879e501da2.zip | |
Add the ShadowCallStack attribute
Summary:
Introduce the ShadowCallStack function attribute. It's added to
functions compiled with -fsanitize=shadow-call-stack in order to mark
functions to be instrumented by a ShadowCallStack pass to be submitted
in a separate change.
Reviewers: pcc, kcc, kubamracek
Reviewed By: pcc, kcc
Subscribers: cryptoad, mehdi_amini, javed.absar, llvm-commits, kcc
Differential Revision: https://reviews.llvm.org/D44800
llvm-svn: 329108
Diffstat (limited to 'llvm/docs')
| -rw-r--r-- | llvm/docs/BitCodeFormat.rst | 1 | ||||
| -rw-r--r-- | llvm/docs/LangRef.rst | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/llvm/docs/BitCodeFormat.rst b/llvm/docs/BitCodeFormat.rst index 6da69bc694d..5e1c5cacb43 100644 --- a/llvm/docs/BitCodeFormat.rst +++ b/llvm/docs/BitCodeFormat.rst @@ -1056,6 +1056,7 @@ The integer codes are mapped to well-known attributes as follows. * code 55: ``sanitize_hwaddress`` * code 56: ``nocf_check`` * code 57: ``optforfuzzing`` +* code 58: ``shadowcallstack`` .. note:: The ``allocsize`` attribute has a special encoding for its arguments. Its two diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 62fdda91218..8bef503abf9 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -1708,6 +1708,11 @@ example: entity to fine grain the HW control flow protection mechanism. The flag is target independant and currently appertains to a function or function pointer. +``shadowcallstack`` + This attribute indicates that the ShadowCallStack checks are enabled for + the function. The instrumentation checks that the return address for the + function has not changed between the function prolog and eiplog. It is + currently x86_64-specific. .. _glattrs: |

