Re: [PATCH] selftests: kvm: remove reassignment of non-absolute variables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
 ^

> >  .popsection
> >
> >       .if ! \has_error
> > --
> > 2.29.2.576.ga3fc446d84-goog
> >



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux