"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

Reply via email to