GCC 2.95 uses __va_copy instead of va_copy. Handle it inside compiler.h
instead of in a casual file, and avoid the risk that this breaks with a
newer compiler (which it could do).
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[email protected]>
---
linux-2.6.12-paolo/arch/um/kernel/skas/uaccess.c | 4 ++--
linux-2.6.12-paolo/include/linux/compiler-gcc2.h | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff -puN arch/um/kernel/skas/uaccess.c~uml-move-va-copy-conditional arch/um/kernel/skas/uaccess.c
--- linux-2.6.12/arch/um/kernel/skas/uaccess.c~uml-move-va-copy-conditional 2005-04-24 19:32:18.000000000 +0200
+++ linux-2.6.12-paolo/arch/um/kernel/skas/uaccess.c 2005-04-24 19:32:18.000000000 +0200
@@ -3,6 +3,7 @@
* Licensed under the GPL
*/
+#include "linux/compiler.h"
#include "linux/stddef.h"
#include "linux/kernel.h"
#include "linux/string.h"
@@ -61,8 +62,7 @@ static void do_buffer_op(void *jmpbuf, v
void *arg;
int *res;
- /* Some old gccs recognize __va_copy, but not va_copy */
- __va_copy(args, *(va_list *)arg_ptr);
+ va_copy(args, *(va_list *)arg_ptr);
addr = va_arg(args, unsigned long);
len = va_arg(args, int);
is_write = va_arg(args, int);
diff -puN include/linux/compiler-gcc2.h~uml-move-va-copy-conditional include/linux/compiler-gcc2.h
--- linux-2.6.12/include/linux/compiler-gcc2.h~uml-move-va-copy-conditional 2005-04-24 19:32:18.000000000 +0200
+++ linux-2.6.12-paolo/include/linux/compiler-gcc2.h 2005-04-24 19:32:18.000000000 +0200
@@ -22,3 +22,8 @@
# define __attribute_pure__ __attribute__((pure))
# define __attribute_const__ __attribute__((__const__))
#endif
+
+/* GCC 2.95.x/2.96 recognize __va_copy, but not va_copy. Actually later GCC's
+ * define both va_copy and __va_copy, but the latter may go away, so limit this
+ * to this header */
+#define va_copy __va_copy
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]