Re: [PATCH 74/74] lto, workaround: Mark do_futex noinline to preventclobbering ebp

From: H. Peter Anvin
Date: Wed Aug 22 2012 - 23:14:09 EST


On 08/22/2012 07:29 PM, Andi Kleen wrote:
How about just use register arguments for the first three arguments.
This should work for the syscalls at least (may be too risky for all
other asm entry points)

Well, it's just an effort to convert each one in turn...

And for syscalls with more than three generate a stub that saves on the stack
explicitely. This could be done using the new fancy SYSCALL definition macros
(except that arch/x86 would need to start using them too in its own code)

I don't think there is any point. Just push the six potential arguments to the stack and be done with it.

Or is there some subtle reason with syscall restart and updated args
that prevents it?

Perhaps newer gcc can do regparm(X), X > 3 too, may be worth trying.

No, there is no such ABI defined.

Don't have time to look into this currently though.

Always the problem.

-hpa


--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/