T211: Force GCC to save r0,r1,r2 in functions that call another function with __attribute__((naked))
T211: Force GCC to save r0,r1,r2 in functions that call another function with __attribute__((naked))

Not sure whether this is due to a subtle bug in our code (e.g. what are the
guarantees you get when calling a naked function?), or whether there is an
actual bug in the ARM GCC 5.3.1 (Ubuntu/Linaro 5.3.1-13ubuntu3) 5.3.1
20160330) that ships with Ubuntu 16.04.

The symptom was that saving the epilog IP in the saved state would trigger a
pagefault while disabled, as the address it was trying to write to was now
<CPSR value>+offsetof(state, named)+offsetof(named, pc).

Signed-off-by: Simon Gerber <13ba2e9de9ead0ea0b5f47504fb3a80bb9b1ee3b@inf.ethz.ch>

kishoredbn/barrelfish,BarrelfishOS/barrelfish,kishoredbn/barrelfish,kishoredbn/barrelfish,BarrelfishOS/barrelfish,BarrelfishOS/barrelfish,kishoredbn/barrelfish,kishoredbn/barrelfish,BarrelfishOS/barrelfish,BarrelfishOS/barrelfish,BarrelfishOS/barrelfish,BarrelfishOS/barrelfish,BarrelfishOS/barrelfish,kishoredbn/barrelfish,BarrelfishOS/barrelfish