LLVM Drops Its Shadow Call Stack Support For x86_64

The x86_64 LLVM Shadow Call Stack was found to regress performance too much and have security weaknesses so it was expected to be removed while now it's finally happened. The AArch64 LLVM ShadowCallStack pass will continue to be supported by the x86_64 version has been removed in LLVM 9.
Delete x86_64 ShadowCallStack support
Summary:
ShadowCallStack on x86_64 suffered from the same racy security issues as Return Flow Guard and had performance overhead as high as 13% depending on the benchmark. x86_64 ShadowCallStack was always an experimental feature and never shipped a runtime required to support it, as such there are no expected downstream users.
Those interested in learning more about the design intentions of the shadow call stack and its relevance still for AArch64 can be found via the LLVM documentation.
Add A Comment
