uml: move va_copy conditional def
PATCH 6/6 uml: move va_copy conditional def
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(-)
arch/um/kernel/skas/uaccess.c renamed from arch/um/kernel/skas/uaccess.c~uml-move-va-copy-conditional +2 -2
@@ -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, vvoid *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);
include/linux/compiler-gcc2.h renamed from include/linux/compiler-gcc2.h~uml-move-va-copy-conditional +5 -0
@@ -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
_
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel