On Thu, Sep 14, 2017 at 10:33 AM, Josh Poimboeuf <jpoim...@redhat.com> 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

Reply via email to