patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-sunrpc.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
http://sources.redhat.com/ml/libc-hacker/2004-02/msg00005.html
yann@1
     2
[Also in CVS, but the original patch is easier to get.]
yann@1
     3
yann@1
     4
Fixes errors like
yann@1
     5
yann@1
     6
clnt_perr.c: In function `_buf':
yann@1
     7
clnt_perr.c:67: error: invalid lvalue in assignment
yann@1
     8
yann@1
     9
when building with gcc-3.5.
yann@1
    10
yann@1
    11
To: libc-hacker at sources dot redhat dot com
yann@1
    12
Subject: Fix cast as lvalue in sunrpc
yann@1
    13
From: Andreas Schwab <schwab at suse dot de>
yann@1
    14
X-Yow: SHHHH!!  I hear SIX TATTOOED TRUCK-DRIVERS tossing ENGINE BLOCKS
yann@1
    15
 into empty OIL DRUMS dot  dot 
yann@1
    16
Date: Sun, 08 Feb 2004 17:38:31 +0100
yann@1
    17
Message-ID: <je4qu1frw8.fsf@sykes.suse.de>
yann@1
    18
yann@1
    19
This fixes the uses of casts as lvalue in the sunrpc code.
yann@1
    20
yann@1
    21
Andreas.
yann@1
    22
yann@1
    23
2004-02-08  Andreas Schwab  <schwab@suse.de>
yann@1
    24
yann@1
    25
	* include/rpc/rpc.h: Declare thread variables with their correct
yann@1
    26
	type.
yann@1
    27
	* sunrpc/clnt_perr.c: Don't cast thread variables.
yann@1
    28
	* sunrpc/clnt_raw.c: Likewise.
yann@1
    29
	* sunrpc/clnt_simp.c: Likewise.
yann@1
    30
	* sunrpc/key_call.c: Likewise.
yann@1
    31
	* sunrpc/svcauth_des.c: Likewise.
yann@1
    32
	* sunrpc/svc.c: Likewise.
yann@1
    33
	* sunrpc/svc_raw.c: Likewise.
yann@1
    34
	* sunrpc/svc_simple.c: Likewise.
yann@1
    35
yann@1
    36
Index: include/rpc/rpc.h
yann@1
    37
===================================================================
yann@1
    38
RCS file: /cvs/glibc/libc/include/rpc/rpc.h,v
yann@1
    39
retrieving revision 1.8
yann@1
    40
diff -u -p -a -r1.8 rpc.h
yann@1
    41
--- glibc/include/rpc/rpc.h	5 Aug 2002 22:10:59 -0000	1.8
yann@1
    42
+++ glibc/include/rpc/rpc.h	8 Feb 2004 14:19:14 -0000
yann@1
    43
@@ -17,24 +17,24 @@ struct rpc_thread_variables {
yann@1
    44
 	struct pollfd	*svc_pollfd_s;		/* Global, rpc_common.c */
yann@1
    45
 	int		svc_max_pollfd_s;	/* Global, rpc_common.c */
yann@1
    46
 
yann@1
    47
-	void		*clnt_perr_buf_s;	/* clnt_perr.c */
yann@1
    48
+	char		*clnt_perr_buf_s;	/* clnt_perr.c */
yann@1
    49
 
yann@1
    50
-	void		*clntraw_private_s;	/* clnt_raw.c */
yann@1
    51
+	struct clntraw_private_s *clntraw_private_s;	/* clnt_raw.c */
yann@1
    52
 
yann@1
    53
-	void		*callrpc_private_s;	/* clnt_simp.c */
yann@1
    54
+	struct callrpc_private_s *callrpc_private_s;	/* clnt_simp.c */
yann@1
    55
 
yann@1
    56
-	void		*key_call_private_s;	/* key_call.c */
yann@1
    57
+	struct key_call_private *key_call_private_s;	/* key_call.c */
yann@1
    58
 
yann@1
    59
-	void		*authdes_cache_s;	/* svcauth_des.c */
yann@1
    60
-	void		*authdes_lru_s;		/* svcauth_des.c */
yann@1
    61
+	struct cache_entry *authdes_cache_s;	/* svcauth_des.c */
yann@1
    62
+	int		*authdes_lru_s;		/* svcauth_des.c */
yann@1
    63
 
yann@1
    64
-	void		*svc_xports_s;		/* svc.c */
yann@1
    65
-	void		*svc_head_s;		/* svc.c */
yann@1
    66
+	SVCXPRT		**svc_xports_s;		/* svc.c */
yann@1
    67
+	struct svc_callout *svc_head_s;		/* svc.c */
yann@1
    68
 
yann@1
    69
-	void		*svcraw_private_s;	/* svc_raw.c */
yann@1
    70
+	struct svcraw_private_s *svcraw_private_s;	/* svc_raw.c */
yann@1
    71
 
yann@1
    72
-	void		*svcsimple_proglst_s;	/* svc_simple.c */
yann@1
    73
-	void		*svcsimple_transp_s;	/* svc_simple.c */
yann@1
    74
+	struct proglst_ *svcsimple_proglst_s;	/* svc_simple.c */
yann@1
    75
+	SVCXPRT		*svcsimple_transp_s;	/* svc_simple.c */
yann@1
    76
 };
yann@1
    77
 
yann@1
    78
 extern struct rpc_thread_variables *__rpc_thread_variables(void)
yann@1
    79
Index: sunrpc/clnt_perr.c
yann@1
    80
===================================================================
yann@1
    81
RCS file: /cvs/glibc/libc/sunrpc/clnt_perr.c,v
yann@1
    82
retrieving revision 1.19
yann@1
    83
diff -u -p -a -r1.19 clnt_perr.c
yann@1
    84
--- glibc/sunrpc/clnt_perr.c	1 Nov 2002 20:43:54 -0000	1.19
yann@1
    85
+++ glibc/sunrpc/clnt_perr.c	8 Feb 2004 14:19:14 -0000
yann@1
    86
@@ -55,7 +55,7 @@ static char *auth_errmsg (enum auth_stat
yann@1
    87
  * buf variable in a few functions.  Overriding a global variable
yann@1
    88
  * with a local variable of the same name is a bad idea, anyway.
yann@1
    89
  */
yann@1
    90
-#define buf ((char *)RPC_THREAD_VARIABLE(clnt_perr_buf_s))
yann@1
    91
+#define buf RPC_THREAD_VARIABLE(clnt_perr_buf_s)
yann@1
    92
 #else
yann@1
    93
 static char *buf;
yann@1
    94
 #endif
yann@1
    95
Index: sunrpc/clnt_raw.c
yann@1
    96
===================================================================
yann@1
    97
RCS file: /cvs/glibc/libc/sunrpc/clnt_raw.c,v
yann@1
    98
retrieving revision 1.10
yann@1
    99
diff -u -p -a -r1.10 clnt_raw.c
yann@1
   100
--- glibc/sunrpc/clnt_raw.c	15 May 2002 00:21:00 -0000	1.10
yann@1
   101
+++ glibc/sunrpc/clnt_raw.c	8 Feb 2004 14:19:14 -0000
yann@1
   102
@@ -61,7 +61,7 @@ struct clntraw_private_s
yann@1
   103
     u_int mcnt;
yann@1
   104
   };
yann@1
   105
 #ifdef _RPC_THREAD_SAFE_
yann@1
   106
-#define clntraw_private ((struct clntraw_private_s *)RPC_THREAD_VARIABLE(clntraw_private_s))
yann@1
   107
+#define clntraw_private RPC_THREAD_VARIABLE(clntraw_private_s)
yann@1
   108
 #else
yann@1
   109
 static struct clntraw_private_s *clntraw_private;
yann@1
   110
 #endif
yann@1
   111
Index: sunrpc/clnt_simp.c
yann@1
   112
===================================================================
yann@1
   113
RCS file: /cvs/glibc/libc/sunrpc/clnt_simp.c,v
yann@1
   114
retrieving revision 1.14
yann@1
   115
diff -u -p -a -r1.14 clnt_simp.c
yann@1
   116
--- glibc/sunrpc/clnt_simp.c	15 May 2002 00:21:00 -0000	1.14
yann@1
   117
+++ glibc/sunrpc/clnt_simp.c	8 Feb 2004 14:19:14 -0000
yann@1
   118
@@ -55,7 +55,7 @@ struct callrpc_private_s
yann@1
   119
     char *oldhost;
yann@1
   120
   };
yann@1
   121
 #ifdef _RPC_THREAD_SAFE_
yann@1
   122
-#define callrpc_private ((struct callrpc_private_s *)RPC_THREAD_VARIABLE(callrpc_private_s))
yann@1
   123
+#define callrpc_private RPC_THREAD_VARIABLE(callrpc_private_s)
yann@1
   124
 #else
yann@1
   125
 static struct callrpc_private_s *callrpc_private;
yann@1
   126
 #endif
yann@1
   127
Index: sunrpc/key_call.c
yann@1
   128
===================================================================
yann@1
   129
RCS file: /cvs/glibc/libc/sunrpc/key_call.c,v
yann@1
   130
retrieving revision 1.16
yann@1
   131
diff -u -p -a -r1.16 key_call.c
yann@1
   132
--- glibc/sunrpc/key_call.c	6 Aug 2002 06:08:50 -0000	1.16
yann@1
   133
+++ glibc/sunrpc/key_call.c	8 Feb 2004 14:19:14 -0000
yann@1
   134
@@ -370,7 +370,7 @@ struct  key_call_private {
yann@1
   135
   uid_t   uid;            /* user-id at last authorization */
yann@1
   136
 };
yann@1
   137
 #ifdef _RPC_THREAD_SAFE_
yann@1
   138
-#define key_call_private_main ((struct  key_call_private *)RPC_THREAD_VARIABLE(key_call_private_s))
yann@1
   139
+#define key_call_private_main RPC_THREAD_VARIABLE(key_call_private_s)
yann@1
   140
 #else
yann@1
   141
 static struct key_call_private *key_call_private_main;
yann@1
   142
 #endif
yann@1
   143
Index: sunrpc/svc.c
yann@1
   144
===================================================================
yann@1
   145
RCS file: /cvs/glibc/libc/sunrpc/svc.c,v
yann@1
   146
retrieving revision 1.17
yann@1
   147
diff -u -p -a -r1.17 svc.c
yann@1
   148
--- glibc/sunrpc/svc.c	29 Aug 2003 07:45:18 -0000	1.17
yann@1
   149
+++ glibc/sunrpc/svc.c	8 Feb 2004 14:19:14 -0000
yann@1
   150
@@ -44,7 +44,7 @@
yann@1
   151
 #include <sys/poll.h>
yann@1
   152
 
yann@1
   153
 #ifdef _RPC_THREAD_SAFE_
yann@1
   154
-#define xports ((SVCXPRT **)RPC_THREAD_VARIABLE(svc_xports_s))
yann@1
   155
+#define xports RPC_THREAD_VARIABLE(svc_xports_s)
yann@1
   156
 #else
yann@1
   157
 static SVCXPRT **xports;
yann@1
   158
 #endif
yann@1
   159
@@ -63,7 +63,7 @@ struct svc_callout {
yann@1
   160
   void (*sc_dispatch) (struct svc_req *, SVCXPRT *);
yann@1
   161
 };
yann@1
   162
 #ifdef _RPC_THREAD_SAFE_
yann@1
   163
-#define svc_head ((struct svc_callout *)RPC_THREAD_VARIABLE(svc_head_s))
yann@1
   164
+#define svc_head RPC_THREAD_VARIABLE(svc_head_s)
yann@1
   165
 #else
yann@1
   166
 static struct svc_callout *svc_head;
yann@1
   167
 #endif
yann@1
   168
Index: sunrpc/svc_raw.c
yann@1
   169
===================================================================
yann@1
   170
RCS file: /cvs/glibc/libc/sunrpc/svc_raw.c,v
yann@1
   171
retrieving revision 1.5
yann@1
   172
diff -u -p -a -r1.5 svc_raw.c
yann@1
   173
--- glibc/sunrpc/svc_raw.c	26 Feb 2002 01:43:56 -0000	1.5
yann@1
   174
+++ glibc/sunrpc/svc_raw.c	8 Feb 2004 14:19:14 -0000
yann@1
   175
@@ -54,7 +54,7 @@ struct svcraw_private_s
yann@1
   176
     char verf_body[MAX_AUTH_BYTES];
yann@1
   177
   };
yann@1
   178
 #ifdef _RPC_THREAD_SAFE_
yann@1
   179
-#define svcraw_private ((struct svcraw_private_s *)RPC_THREAD_VARIABLE(svcraw_private_s))
yann@1
   180
+#define svcraw_private RPC_THREAD_VARIABLE(svcraw_private_s)
yann@1
   181
 #else
yann@1
   182
 static struct svcraw_private_s *svcraw_private;
yann@1
   183
 #endif
yann@1
   184
Index: sunrpc/svc_simple.c
yann@1
   185
===================================================================
yann@1
   186
RCS file: /cvs/glibc/libc/sunrpc/svc_simple.c,v
yann@1
   187
retrieving revision 1.16
yann@1
   188
diff -u -p -a -r1.16 svc_simple.c
yann@1
   189
--- glibc/sunrpc/svc_simple.c	6 Aug 2002 05:10:30 -0000	1.16
yann@1
   190
+++ glibc/sunrpc/svc_simple.c	8 Feb 2004 14:19:14 -0000
yann@1
   191
@@ -61,7 +61,7 @@ struct proglst_
yann@1
   192
     struct proglst_ *p_nxt;
yann@1
   193
   };
yann@1
   194
 #ifdef _RPC_THREAD_SAFE_
yann@1
   195
-#define proglst ((struct proglst_ *)RPC_THREAD_VARIABLE(svcsimple_proglst_s))
yann@1
   196
+#define proglst RPC_THREAD_VARIABLE(svcsimple_proglst_s)
yann@1
   197
 #else
yann@1
   198
 static struct proglst_ *proglst;
yann@1
   199
 #endif
yann@1
   200
@@ -69,7 +69,7 @@ static struct proglst_ *proglst;
yann@1
   201
 
yann@1
   202
 static void universal (struct svc_req *rqstp, SVCXPRT *transp_s);
yann@1
   203
 #ifdef _RPC_THREAD_SAFE_
yann@1
   204
-#define transp ((SVCXPRT *)RPC_THREAD_VARIABLE(svcsimple_transp_s))
yann@1
   205
+#define transp RPC_THREAD_VARIABLE(svcsimple_transp_s)
yann@1
   206
 #else
yann@1
   207
 static SVCXPRT *transp;
yann@1
   208
 #endif
yann@1
   209
Index: sunrpc/svcauth_des.c
yann@1
   210
===================================================================
yann@1
   211
RCS file: /cvs/glibc/libc/sunrpc/svcauth_des.c,v
yann@1
   212
retrieving revision 1.8
yann@1
   213
diff -u -p -a -r1.8 svcauth_des.c
yann@1
   214
--- glibc/sunrpc/svcauth_des.c	20 Aug 2001 06:37:09 -0000	1.8
yann@1
   215
+++ glibc/sunrpc/svcauth_des.c	8 Feb 2004 14:19:14 -0000
yann@1
   216
@@ -72,8 +72,8 @@ struct cache_entry
yann@1
   217
     char *localcred;		/* generic local credential */
yann@1
   218
   };
yann@1
   219
 #ifdef _RPC_THREAD_SAFE_
yann@1
   220
-#define authdes_cache ((struct cache_entry *)RPC_THREAD_VARIABLE(authdes_cache_s))
yann@1
   221
-#define authdes_lru ((int *)RPC_THREAD_VARIABLE(authdes_lru_s))
yann@1
   222
+#define authdes_cache RPC_THREAD_VARIABLE(authdes_cache_s)
yann@1
   223
+#define authdes_lru RPC_THREAD_VARIABLE(authdes_lru_s)
yann@1
   224
 #else
yann@1
   225
 static struct cache_entry *authdes_cache;
yann@1
   226
 static int *authdes_lru;
yann@1
   227
yann@1
   228
-- 
yann@1
   229
Andreas Schwab, SuSE Labs, schwab@suse.de
yann@1
   230
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
yann@1
   231
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
yann@1
   232
"And now for something completely different."
yann@1
   233