PPC440, GCC-4.1.1 supposes cr{2,3,4} saved but the hard real time kernel doesn't...
Ian Lance Taylor
iant@google.com
Tue Nov 28 15:43:00 GMT 2006
Etienne Lorrain <etienne_lorrain@yahoo.fr> writes:
> My problem is quite simple, the PPC has few conditions registers and some are assumed to be saved over function calls (in my test case NU_Sleep()), but the hard real time kernel do not save those (partial flags) registers.
> This behaviour is perfectly documented in gcc-4.1.1/gcc/config/rs6000 line 709, but is there a simple solution (maybe involving recompiling the compiler) to force re-testing values after function calls?
> I do remember the i386 option -mreg-alloc="dacbSDB", but it does not seem to be supported for PPC; the best would be a compiler option to say "full CC register clobber by function call".
You want the -fcall-used-REG option. See the documentation.
Ian
More information about the Gcc
mailing list