[all-commits] [llvm/llvm-project] a19da8: [ARM] implement support for TLS register based sta...

Ard Biesheuvel via All-commits all-commits at lists.llvm.org
Tue Nov 9 09:23:28 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a19da876ab93d54ebc20aadd12820f74220d2f50
      https://github.com/llvm/llvm-project/commit/a19da876ab93d54ebc20aadd12820f74220d2f50
  Author: Ard Biesheuvel <ardb at google.com>
  Date:   2021-11-09 (Tue, 09 Nov 2021)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/stack-protector-guard.c
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMInstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
    A llvm/test/CodeGen/ARM/stack-guard-tls.ll

  Log Message:
  -----------
  [ARM] implement support for TLS register based stack protector

Implement support for loading the stack canary from a memory location held in
the TLS register, with an optional offset applied. This is used by the Linux
kernel to implement per-task stack canaries, which is impossible on SMP systems
when using a global variable for the stack canary.

Reviewed By: nickdesaulniers

Differential Revision: https://reviews.llvm.org/D112768




More information about the All-commits mailing list