Fix sunrpc/xcrypt.c for GCC 4.0

H. J. Lu hjl@lucon.org
Sun Dec 19 20:59:00 GMT 2004


On Sun, Dec 19, 2004 at 08:15:13PM +0100, Andreas Jaeger wrote:
> 
> Ok to commit the appended patch to fix xcrypt with GCC 4.0?  This is
> similar to a patch by Alexandre for getnetgrent_r.
> 
> Andreas
> 
> 2004-12-19  Andreas Jaeger  <aj@suse.de>
> 
> 	[BZ #573]
> 	* sunrpc/xcrypt.c (passwd2des_internal): Make it hidden instead of
> 	internal linkage.
> 
> ============================================================
> Index: sunrpc/xcrypt.c
> --- sunrpc/xcrypt.c	17 Sep 2002 10:58:00 -0000	1.7
> +++ sunrpc/xcrypt.c	19 Dec 2004 15:13:10 -0000
> @@ -69,13 +69,15 @@ static char hexval (char) internal_funct
>  
>  static void hex2bin (int, char *, char *) internal_function;
>  static void bin2hex (int, unsigned char *, char *) internal_function;
> -static void passwd2des_internal (char *pw, char *key);
> -
> +void passwd2des_internal (char *pw, char *key);
> +#ifdef _LIBC
> +libc_hidden_proto (passwd2des_internal)
> +#endif
>  
>  /*
>   * Turn password into DES key
>   */
> -static void
> +void
>  passwd2des_internal (char *pw, char *key)
>  {
>    int i;
> @@ -88,6 +90,7 @@ passwd2des_internal (char *pw, char *key
>  }
>  
>  #ifdef _LIBC
> +libc_hidden_def (passwd2des_internal)
>  strong_alias (passwd2des_internal, passwd2des)
>  #else
>  void passwd2des (char *pw, char *key)

This patch will make gcc not to inline passwd2des_internal which
is the correct thing to do. Marking passwd2des_internal as "used"
will support inlining passwd2des_internal.


H.J.



More information about the Libc-hacker mailing list