[PATCH] D30407: AArch64: Disable the Load Stack Guard on OpenBSD/aarch64

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 27 11:13:04 PST 2017


t.p.northover added a comment.

Oh, some references:

> The handling of @llvm.stackprotector is pretty clearly buggy: there should be no option to useLoadStackGuard because the load has already happened according to the IR semantics.

This is SelectionDAGBuilder.cpp:5461 in trunk.

> OpenBSD almost certainly doesn't need this divergent code-path anyway, and should just be overriding the guard's global variable. As far as I can tell the divergence was introduced without any intent by r188766 (purely for the convenience of not having to make sure OpenBSD works with the new scheme, I expect).

This might be as simple as moving OpenBSD's special case in TargetLoweringBase.cpp (getIRStackGuard) to the following 2 functions, possibly with some light refactoring to avoid duplication.


Repository:
  rL LLVM

https://reviews.llvm.org/D30407





More information about the llvm-commits mailing list