From 89aacb513eb77549a29df2638913a0f8178cf3f5 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 11 May 2018 15:36:50 +0200 Subject: sunrpc: Remove stray exports without --enable-obsolete-rpc [BZ #23166] This is needed to avoid a warning when linking against libtirpc: /lib64/libc.so.6: warning: common of `rpc_createerr@@TIRPC_0.3.0' overridden by definition /usr/lib64/libtirpc.so: warning: defined here This ld warning is not enabled by default; -Wl,--warn-common enables it. Reviewed-by: Carlos O'Donell --- sunrpc/rpc_common.c | 15 +++++++++++---- sunrpc/svcauth_des.c | 13 +++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) (limited to 'sunrpc') diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c index 710191163c..2d42827a87 100644 --- a/sunrpc/rpc_common.c +++ b/sunrpc/rpc_common.c @@ -46,7 +46,14 @@ the variable is declared. So we use the section attribute. */ struct opaque_auth _null_auth __attribute__ ((nocommon)); libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0) -fd_set svc_fdset; -struct rpc_createerr rpc_createerr; -struct pollfd *svc_pollfd; -int svc_max_pollfd; + +/* The variables need the nocommon attribute, so that it is possible + to create aliases and specify symbol versions. */ +fd_set svc_fdset __attribute__ ((nocommon)); +libc_hidden_nolink_sunrpc (svc_fdset, GLIBC_2_0) +struct rpc_createerr rpc_createerr __attribute__ ((nocommon)); +libc_hidden_nolink_sunrpc (rpc_createerr, GLIBC_2_0) +struct pollfd *svc_pollfd __attribute__ ((nocommon)); +libc_hidden_nolink_sunrpc (svc_pollfd, GLIBC_2_2) +int svc_max_pollfd __attribute__ ((nocommon)); +libc_hidden_nolink_sunrpc (svc_max_pollfd, GLIBC_2_2) diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c index f99a5a324f..9ce4804239 100644 --- a/sunrpc/svcauth_des.c +++ b/sunrpc/svcauth_des.c @@ -87,16 +87,21 @@ static void cache_ref (uint32_t sid); /* note that sid was ref'd */ static void invalidate (char *cred); /* invalidate entry in cache */ -/* - * cache statistics - */ +/* Cache statistics. Accidental historic export without a matching + declaration in any header file. */ +#ifndef SHARED +static +#endif struct { u_long ncachehits; /* times cache hit, and is not replay */ u_long ncachereplays; /* times cache hit, and is replay */ u_long ncachemisses; /* times cache missed */ } -svcauthdes_stats; +svcauthdes_stats __attribute__ ((nocommon)); +#ifdef SHARED +compat_symbol (libc, svcauthdes_stats, svcauthdes_stats, GLIBC_2_0); +#endif /* * Service side authenticator for AUTH_DES -- cgit 1.4.1