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, 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.

>  ^
> 
> > >  .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