diff options
author | Fangrui Song <i@maskray.me> | 2023-01-04 12:28:07 -0800 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2023-01-04 12:28:07 -0800 |
commit | 73c9f167ffed8454e80b584ac2f75f817f90eca0 (patch) | |
tree | 1b08fa0eb42bdfc65f4cf8efe02c83f0f1858059 /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | 9768a71a5ee04df88e35c02657ab29b418f5fd31 (diff) | |
download | llvm-73c9f167ffed8454e80b584ac2f75f817f90eca0.zip llvm-73c9f167ffed8454e80b584ac2f75f817f90eca0.tar.gz llvm-73c9f167ffed8454e80b584ac2f75f817f90eca0.tar.bz2 |
[LowerTypeTests] Add ENDBR to .cfi.jumptable for x86 Indirect Branch Tracking
Similar to D81251 for AArch64 BTI. This fixes `./a.out test` for
```
void foo(void) {}
void bar(void) {}
static void (*fptr)(void);
int main(int argc, char **argv) {
if (argv[1]) fptr = foo;
else fptr = bar;
fptr();
}
```
`clang -flto=thin -fvisibility=hidden -fsanitize=cfi-icall -fcf-protection=branch -fuse-ld=lld a.cc`
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D140655
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions