mirror of https://gitee.com/openkylin/linux.git
[PATCH] 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 <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
c16993d900
commit
e9c527163d
|
@ -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, void *arg_ptr)
|
|||
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);
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue