Re: [RFC PATCH 3/4] x86/asm: Make alternative macro interfaces more clear and consistent
From: Linus Torvalds
Date: Thu Sep 14 2017 - 14:28:36 EST
On Thu, Sep 14, 2017 at 10:33 AM, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>>
>> a) uglifying the 15 or so relevant inline asm locations with ifdefs; or
>
> Actually I guess we could put the "sp" in a macro... I'll try it.
Exactly. Do something like
#ifdef CONFIG_FRAME_POINTER
# define EXTRA_ASM_CLOBBERS "rsp"
#else
# define EXTRA_ASM_CLOBBERS
#endif
and then replace the nasty
register void *__sp asm(_ASM_SP);
..
"+r" (__sp)
games with just that EXTRA_ASM_CLOBBERS thing at the end of the clobbers.
Yes, you'd probably have to document that the alternative_call_2()
thing doesn't take a "input" argument, but a input_and_clobbers, but
all users do that anyway.
I dunno.
Linus