diff options
Diffstat (limited to 'libc/sysdeps/linux/bfin/clone.c')
| -rw-r--r-- | libc/sysdeps/linux/bfin/clone.c | 20 | 
1 files changed, 6 insertions, 14 deletions
diff --git a/libc/sysdeps/linux/bfin/clone.c b/libc/sysdeps/linux/bfin/clone.c index 0ba1d5a4a..899738e2d 100644 --- a/libc/sysdeps/linux/bfin/clone.c +++ b/libc/sysdeps/linux/bfin/clone.c @@ -19,11 +19,7 @@ clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg, ...)  #ifdef __BFIN_FDPIC__  	__asm__ __volatile__ ( -			"r1 = %2;" -			"r0 = %3;" -			"P0 = %1;"  			"excpt 0;"	 /*Call sys_clone*/ -			"%0  = r0;"  			"cc = r0 == 0;"  			"if !cc jump .Lxxx;"	/* if (rval != 0) skip to parent */  			"r0 = %4;" @@ -35,16 +31,12 @@ clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg, ...)  			"p0 = %6;"  			"excpt 0;"	/* Call sys_exit */  			".Lxxx: nop;" -			: "=d" (rval) -			: "i" (__NR_clone), "a" (child_stack), "a" (flags), "a" (arg), "a" (fn), "i" (__NR_exit) -			: "CC", "R0", "R1", "P0"); +			: "=q0" (rval) +			: "qA" (__NR_clone), "q1" (child_stack), "q0" (flags), "a" (arg), "a" (fn), "i" (__NR_exit) +			: "CC");  #else  	__asm__ __volatile__ ( -			"r1 = %2;" -			"r0 = %3;" -			"P0 = %1;"  			"excpt 0;"	 /*Call sys_clone*/ -			"%0  = r0;"  			"cc = r0 == 0;"  			"if !cc jump .Lxxx;"	/* if (rval != 0) skip to parent */  			"r0 = %4;" @@ -54,9 +46,9 @@ clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg, ...)  			"p0 = %6;"  			"excpt 0;"	/* Call sys_exit */  			".Lxxx: nop;" -			: "=d" (rval) -			: "i" (__NR_clone), "a" (child_stack), "a" (flags), "a" (arg), "a" (fn), "i" (__NR_exit) -			: "CC", "R0", "R1", "P0"); +			: "=q0" (rval) +			: "qA" (__NR_clone), "q1" (child_stack), "q0" (flags), "a" (arg), "a" (fn), "i" (__NR_exit) +			: "CC");  #endif  	} else {  | 
