On Thu, Dec 10, 2020, Bill Wendling wrote: > On Thu, Dec 10, 2020 at 5:07 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > On Thu, Dec 10, 2020, Bill Wendling wrote: > > > On Thu, Dec 10, 2020 at 4:50 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > > > On Wed, Dec 09, 2020, Bill Wendling wrote: > > > > > Clang's integrated assembler does not allow symbols with non-absolute > > > > > values to be reassigned. Modify the interrupt entry loop macro to be > > > > > compatible with IAS by using a label and an offset. > > > > > > > > > > Cc: Jian Cai <caij2003@xxxxxxxxx> > > > > > Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx> > > > > > References: https://lore.kernel.org/lkml/20200714233024.1789985-1-caij2003@xxxxxxxxx/ > > > > > --- > > > > > tools/testing/selftests/kvm/lib/x86_64/handlers.S | 4 ++-- > > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > > > > > diff --git a/tools/testing/selftests/kvm/lib/x86_64/handlers.S b/tools/testing/selftests/kvm/lib/x86_64/handlers.S > > > > > index aaf7bc7d2ce1..3f9181e9a0a7 100644 > > > > > --- a/tools/testing/selftests/kvm/lib/x86_64/handlers.S > > > > > +++ b/tools/testing/selftests/kvm/lib/x86_64/handlers.S > > > > > @@ -54,9 +54,9 @@ idt_handlers: > > > > > .align 8 > > > > > > > > > > /* Fetch current address and append it to idt_handlers. */ > > > > > - current_handler = . > > > > > +0 : > > > > > .pushsection .rodata > > > > > -.quad current_handler > > > > > + .quad 0b > > > > > > > > Bit of a silly nit: can we use a named label, or at least a non-zero shorthand? > > > > It's really easy to misread "0b" as zeroing out the value, at least for me. > > > > > > > I don't believe that will work. If I rename "0 :" to something more > > > concrete, like ".Lcurrent :", then the label's redefined because of > > > the ".rept". If I assign the "0b" to something, we're back with the > > > unmodified code, which clang issues an error for: > > > > > > <instantiation>:3500:6: error: invalid reassignment of non-absolute variable 'x' > > > x = 0b > > > ^ > > > <instantiation>:2:2: note: while in macro instantiation > > > .rept 255 - 18 + 1 > > > > Boo. I assume 1: and 1b work? Or my KVM favorite "666:" :-) That's enough to > > at least make me pause and actually read the code. > > > Ah! I missed the second part of your message (about the non-zero > shorthand). That should work. Sorry about that. :-) Should I submit a > new version of this patch? That'd probably be easiest. This is trivial enought to fixup when applying, but we might as well save a few of Paolo's cycles for other things. Thanks!