[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