Re: [PATCH v5 6/6] x86/asm: Retire RIP_REL_REF()

From: Ard Biesheuvel
Date: Fri Apr 18 2025 - 11:58:53 EST


On Fri, 18 Apr 2025 at 17:51, Uros Bizjak <ubizjak@xxxxxxxxx> wrote:
>
>
>
> On 18. 04. 25 16:13, Ard Biesheuvel wrote:
> > From: Ard Biesheuvel <ardb@xxxxxxxxxx>
> >
> > Now that all users have been moved into startup/ where PIC codegen is
> > used, RIP_REL_REF() is no longer needed. Remove it.
> >
> > Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> > ---
> > arch/x86/include/asm/asm.h | 5 -----
> > 1 file changed, 5 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h
> > index a9f07799e337..eef0771512de 100644
> > --- a/arch/x86/include/asm/asm.h
> > +++ b/arch/x86/include/asm/asm.h
> > @@ -120,11 +120,6 @@ static __always_inline __pure void *rip_rel_ptr(void *p)
> >
> > return p;
> > }
> > -#ifndef __pic__
> > -#define RIP_REL_REF(var) (*(typeof(&(var)))rip_rel_ptr(&(var)))
> > -#else
> > -#define RIP_REL_REF(var) (var)
> > -#endif
> > #endif
>
> You can also remove rip_rel_ptr() with the whole "#ifndef __ASSEMBLER__"
> part.
>

No, rip_rel_ptr() needs to be kept, unfortunately.