summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--include/rpc/auth.h2
-rw-r--r--sunrpc/rpc_common.c6
3 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index fde04bfd0c..4abf3a2700 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-02-05  Ulrich Drepper  <drepper@redhat.com>
 
+	* include/rpc/auth.h: Use libc_hidden_proto for _null_auth.
+	* sunrpc/rpc_common.c: Add libc_hidden_def for _null_auth.  Also
+	move _null_auth to .rodata.
+
 	* time/tzset.c (__tzset_parse_tz): DST offset must also allow hour
 	value of 24.
 
diff --git a/include/rpc/auth.h b/include/rpc/auth.h
index bc433b5930..a03188ed44 100644
--- a/include/rpc/auth.h
+++ b/include/rpc/auth.h
@@ -39,4 +39,6 @@ extern AUTH *authdes_pk_create_internal (const char *, netobj *, u_int,
 libc_hidden_proto (key_encryptsession_pk)
 libc_hidden_proto (key_decryptsession_pk)
 
+libc_hidden_proto (_null_auth)
+
 #endif
diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c
index 6b22b3f66b..f7ad961c66 100644
--- a/sunrpc/rpc_common.c
+++ b/sunrpc/rpc_common.c
@@ -39,7 +39,11 @@
  * This file should only contain common data (global data) that is exported
  * by public interfaces
  */
-struct opaque_auth _null_auth;
+/* We are very tricky here.  We want to have _null_auth in a read-only
+   section but we cannot add const to the type because this isn't how
+   the variable is declared.  So we use the section attribute.  */
+struct opaque_auth _null_auth __attribute__ ((nocommon, section (".rodata")));
+libc_hidden_def (_null_auth)
 fd_set svc_fdset;
 struct rpc_createerr rpc_createerr;
 struct pollfd *svc_pollfd;