Hi,
Am 03.10.2010 um 17:59 schrieb Blue Swirl:
I finally found out the cause of the problem that prevented us to remove our copy of libgcc. The problem was that when switching to the libgcc provided by GCC, there would be strange crashes. The cause of these crashes is that the libgcc shipped with GCC is compiled with default options, in Sparc64 case the machine model is 'embmedany'. This makes memory accesses use %g4 as base register and since we don't initialize it (because other code uses machine model 'medany'), there will be crashes due to random base with some memory accesses in libgcc. It's clear that the default machine model for Sparc64 is not compatible with OpenBIOS, as is any libgcc compiled with this model.
[snip]
I tried compiling RTAS with $(CC) and -lgcc as in your patch, but it fails to link with an undefined symbol _savegpr_31. That's one of those in crtsavres.S. Any idea? The patched sparc64 gcc seemed only necessary for runtime crashes iiuc.
Andreas