This was a lot more trivial than I expected, about a 20 minute
hack. Most of the time was spent on test boots :)
The first patch removes the packed attribute from the ftrace_page
blob of dynamic ftrace entries, because not only does it cause
unaligned accesses on sparc64 it's also totally useless.
The second patch adds sparc64 ftrace support.
One thing I noticed is that sparc64 uses an mcount implementation
already for a quick-and-dirty stack usage checker. I tried to
make them live alongside eachother.
Next, I think the mcount symbol export needs some tweaking. On sparc,
the symbol _mcount is what the compiler references (this seems to be a
sparc sysv4'ism) whereas on x86 it appears that plain "mcount" is
used. I provide both symbols and we already have a local export of
"_mcount" to take care of this. I think architectures should deal
with this symbol exporting since it is different on every system.