Messages in this thread | | | From | Sami Tolvanen <> | Date | Wed, 19 Feb 2020 12:12:21 -0800 | Subject | Re: [PATCH v8 00/12] add support for Clang's Shadow Call Stack |
| |
On Wed, Feb 19, 2020 at 10:38 AM James Morse <james.morse@arm.com> wrote: > This looks like reserving x18 is causing Clang to not-inline the __kern_hyp_va() calls, > losing the vitally important section information. (I can see why the compiler thinks this > is fair)
Thanks for catching this. This doesn't appear to be caused by reserving x18, it looks like SCS itself is causing clang to avoid inlining these. If I add __noscs to __kern_hyp_va(), clang inlines the function again. __always_inline also works, as you pointed out.
> Is this a known, er, thing, with clang-9?
I can reproduce this with ToT clang as well.
> I suspect repainting all KVM's 'inline' with __always_inline will fix it. (yuck!) I'll try > tomorrow.
I think switching to __always_inline is the correct solution here.
Sami
| |