Hi All, The patch series will allow AArch64 to use 64k guard sizes correctly and improves the code quality. It also enables a reduction of the overhead in code size over the current GCC 8 implementation.
Using 64k guard sizes results in a reduction in overhead compared to the 4k guard size. The code size overhead of enabling stack clash protection with this patch series is ~0.86% vs the ~0.96% of the current GCC 8 implementation. All measurements were done over spec2017. This series will also contain some mid-end changes required for alloca in order to allow targets to opt in to a different implementation via a target hook. As documented using this hook will require the target to provide certain guarantees, but the result is a smaller alloca implementation and one that doesn't need an extra register for targets which have a limited offset for the probe instructions. Thanks, Tamar --