[PATCH] D59780: Support Intel Control-flow Enforcement Technology
Rui Ueyama via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 29 10:20:09 PDT 2019
ruiu marked 10 inline comments as done.
ruiu added inline comments.
================
Comment at: lld/ELF/Arch/X86.cpp:415
+namespace {
+class IntelCET : public X86 {
+ void writeGotPlt(uint8_t *Buf, const Symbol &S) const override;
----------------
MaskRay wrote:
> `template <class ELFT> class IntelCET : public X86_64<ELFT> {`
>
> `IBT-enabled PLT` can be used with the ILP32 programming model (x86-32 ABI). (If you don't like putting too much stuff in the initial commit, `class IntelCET : public X86_64<ELF64LE> {`.
Actually the template is gone, I removed it because no code depended on ELFT. (Also no one really uses x32 ABI I guess? I thought that I read an article that Linux kernel developers are discussing deprecating x32 ABI.)
================
Comment at: lld/ELF/InputFiles.cpp:594
+// If a source file is compiled with x86 hardware-assisted call flow control
+// enabled, the generated object file contains feature flags indicating that
----------------
MaskRay wrote:
> call flow control -> Control-Flow Enforcement ?
This is a general name and not specific to the Intel's implementation.
================
Comment at: lld/ELF/InputFiles.cpp:608
+static uint32_t readX86Features(ObjFile<ELFT> *Obj, ArrayRef<uint8_t> Data) {
+ typedef typename ELFT::Nhdr Elf_Nhdr;
+ typedef typename ELFT::Note Elf_Note;
----------------
MaskRay wrote:
> `using Elf_Nhdr = ...` is more common nowadays.
Yeah, but we should convert all of them in lld at once.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59780/new/
https://reviews.llvm.org/D59780
More information about the llvm-commits
mailing list