[PATCH] D13455: [safestack] Fast access to the unsafe stack pointer on AArch64/Android.

Evgeniy Stepanov via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 5 17:23:02 PDT 2015


eugenis created this revision.
eugenis added reviewers: echristo, pcc.
eugenis added a subscriber: llvm-commits.
eugenis set the repository for this revision to rL LLVM.
Herald added subscribers: srhines, danalbert, tberghammer, rengolin, aemerson.

Android libc provides a fixed TLS slot for the unsafe stack pointer,
and this change implements direct access to that slot on AArch64 via
__builtin_thread_pointer() + offset.
    
This change also moves more code into TargetLowering and its
target-specific subclasses to get rid of target-specific codegen
in SafeStackPass.
    
This change does not touch the ARM backend because it lowers
__builting_thread_pointer as __aeabi_read_tp, which is not available
on Android.


Repository:
  rL LLVM

http://reviews.llvm.org/D13455

Files:
  include/llvm/Target/TargetLowering.h
  lib/CodeGen/TargetLoweringBase.cpp
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/AArch64/AArch64Subtarget.h
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h
  lib/Transforms/Instrumentation/SafeStack.cpp
  test/Transforms/SafeStack/AArch64/abi.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13455.36573.patch
Type: text/x-patch
Size: 11058 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151006/6e123351/attachment.bin>


More information about the llvm-commits mailing list