"Maciej W. Rozycki" <ma...@codesourcery.com> writes: > BTW, what's the "Check for MicroMIPS support." note seen in the > config.host piece of the patch referring to?
No idea, please remove it. > /* Define a function NAME that moves a return value of mode MODE from > FPRs to GPRs. */ > > -#define RET_FUNCTION(NAME, MODE) \ > +#define _RET_FUNCTION(NAME, MODE) \ > STARTFN (NAME); \ > MOVE_##MODE##_RET (t, $31); \ > ENDFN (NAME) > > +#ifdef SHARED > +#define RET_FUNCTION(NAME, MODE) \ > + _RET_FUNCTION (NAME##_compat, MODE); \ > + .symver NAME##_compat, NAME##@GCC_4.4.0 > +#else > +#define RET_FUNCTION(NAME, MODE) \ > + _RET_FUNCTION (NAME, MODE); \ > + .hidden NAME > +#endif Rather than repeat this, I think we should have: #ifdef SHARED #define CE_STARTFN(NAME) \ STARTFN (NAME##_compat); \ .symver NAME##_compat, NAME@GCC_4.4.0 #define CE_ENDFN(NAME) ENDFN (NAME##_compat) #else #define CE_STARTFN(NAME) STARTFN (NAME); .hidden NAME #define CE_ENDFN(NAME) ENDFN (NAME) #endif below your new comment, with CE arbitrarily standing for "compat export". Feel free to use different names if you can think of something better. Note no "##" before "@". Please also delete the corresponding entries in libgcc.ver, which should no longer be needed. OK with those changes, thanks. No need for a full retest; checking that libgcc_s.so.1 and libgcc.a are unchanged from your posted version should be fine. Richard