Messages in this thread | | | From | Masahiro Yamada <> | Date | Thu, 24 Oct 2019 23:38:07 +0900 | Subject | Re: [PATCH 06/18] add support for Clang's Shadow Call Stack (SCS) |
| |
On Thu, Oct 24, 2019 at 10:28 PM Mark Rutland <mark.rutland@arm.com> wrote: > > On Tue, Oct 22, 2019 at 12:26:02PM -0700, Sami Tolvanen wrote: > > On Tue, Oct 22, 2019 at 9:28 AM Mark Rutland <mark.rutland@arm.com> wrote: > > > > > +config SHADOW_CALL_STACK > > > > + bool "Clang Shadow Call Stack" > > > > + depends on ARCH_SUPPORTS_SHADOW_CALL_STACK > > > > + depends on CC_IS_CLANG && CLANG_VERSION >= 70000 > > > > > > Is there a reason for an explicit version check rather than a > > > CC_HAS_<feature> check? e.g. was this available but broken in prior > > > versions of clang? > > > > No, this feature was added in Clang 7. However, > > -fsanitize=shadow-call-stack might require architecture-specific > > flags, so a simple $(cc-option, -fsanitize=shadow-call-stack) in > > arch/Kconfig is not going to work. I could add something like this to > > arch/arm64/Kconfig though: > > > > select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK > > ... > > config CC_HAVE_SHADOW_CALL_STACK > > def_bool $(cc-option, -fsanitize=shadow-call-stack -ffixed-x18) > > > > And then drop CC_IS_CLANG and version check entirely. Thoughts? > > That sounds good to me, yes! > > Thanks, > Mark.
If you use cc-option, please add a comment like
# supported by Clang 7 or later.
I do not know the minimal supported clang version. When we bump the minimal version to clang 7, we can drop the cc-option test entirely.
-- Best Regards Masahiro Yamada
| |