Messages in this thread | | | Date | Wed, 27 Mar 2019 23:50:37 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH 02/17] x86, lto: Mark all top level asm statements as .text |
| |
On Wed, 27 Mar 2019, Andi Kleen wrote:
> > > I checked the code general and with the .globl in NATIVE_LABEL the > > > > With or without? I removed that as well. > > With. > > LTO would still need the .globls because the variable and the asm > statement can end up in different assembler files, and resolution > would rely on the linker.
This really sucks. As this is a constant source of trouble, we might better bite the bullet and get rid of this fancy macro completely. It's not that we add these patch patterns every other day.
So a good old:
/* xor %eax %ex */ static const unsigend char patch_qspinlock[] = { 0x31, 0xc0 };
and then in the patch code:
return paravirt_patch_insns(ibuf, len, patch_qspinlock, patch_qspinlock + ARRAY_SIZE(patch_qspinlock));
might be less trouble than dealing with that clever inline assembly forever.
Thanks,
tglx
| |