On 19/11/09 22:44 +0100, Louis Rilling wrote: > On Thu, Nov 19, 2009 at 01:32:36PM -0800, Dave Hansen wrote: > > On Thu, 2009-11-19 at 22:26 +0100, Louis Rilling wrote: > > > But actually this is even better :D: > > > > > > __asm__ __volatile__( > > > "movq %3, %%r10\n\t" /* pids in r10*/ > > > "pushq %%rbp\n\t" /* save value of ebp */ > > > : > > > :"D" (flags_low), /* rdi */ > > > "S" (clone_args),/* rsi */ > > > "d" (args_size), /* rdx */ > > > "r10" (pids) /* Linux reads its fourth arg from r10 */ > > > ); > > > > That gives me: > > > > clone-lib.c:28: error: matching constraint references invalid operand > > number > > ?? I know that this syntax works for r8, but I don't remember for r9-r15. I don't > have my handy documentation nearby, so let met check tomorrow (if nobody finds > before). Ok, I couldn't even find why r8 works, but according to this http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16331 gcc support for using those registers in inline asm constraints is deliberately missing. So the only safe solution is something like your first one, although we could expect that using rcx instead of rax will optimize it a bit. Thanks, Louis -- Dr Louis Rilling Kerlabs Skype: louis.rilling Batiment Germanium Phone: (+33|0) 6 80 89 08 23 80 avenue des Buttes de Coesmes http://www.kerlabs.com/ 35700 Rennes
Attachment:
signature.asc
Description: Digital signature
_______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers