On Thu, Jan 21, 2016 at 10:29:13PM +0100, Jiri Kosina wrote:
On Thu, 21 Jan 2016, Torsten Duwe wrote:
quoted
quoted
mcount call sites looks normal on first sight...
Not quite.
LR is not saved on the stack before the call.
Argh!
Petr, this looks like 12 bytes offset for gcc-6.
I think I can work around the rest.
Are we sure that gcc is doing the right thing here?
I am far from claiming understanding of ppc64 ABI, but from what Vojtech
told me I understood that saving link register is necessary for (at least)
graph tracer to work properly.
It is held in R0 only, and saved right after _mcount. Thus, _mcount just
must not clobber R0 or save it the same way as it's done afterwards or
like gcc4 does it.
I'll make a v6 that's compiler agnostic. It's a few lines to change
for the kernel proper, and I'll have to have a look at the trampolines
for modules.
Torsten