Add `-fptrauth-elf-got` clang cc1 flag and set `ptrauth_elf_got` preprocessor feature and `PointerAuthELFGOT` LangOption correspondingly. No additional checks like ensuring OS binary format is ELF are performed: it should be done on clang driver level when a pauth-enabled environment implying signed GOT enabled is requested. If the cc1 flag is passed, "ptrauth-elf-got" IR module flag is set.
9 lines
377 B
C
9 lines
377 B
C
// RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-llvm %s -o - | FileCheck %s --check-prefix=OFF
|
|
// RUN: %clang_cc1 -triple aarch64-linux-gnu -fptrauth-elf-got -emit-llvm %s -o - | FileCheck %s --check-prefix=ELFGOT
|
|
|
|
// ELFGOT: !llvm.module.flags = !{
|
|
// ELFGOT-SAME: !1
|
|
// ELFGOT: !1 = !{i32 8, !"ptrauth-elf-got", i32 1}
|
|
|
|
// OFF-NOT: "ptrauth-
|