Re: [PATCH 2/2] kbuild: userprogs: also inherit byte order and ABI from kernel

Nicolas Schier
2025-09-07T15:40:21Z

On Wed, Sep 03, 2025 at 03:31:31PM -0700, Nathan Chancellor wrote:
> On Mon, Sep 01, 2025 at 11:51:03AM +0200, Thomas Weißschuh wrote:
> > Exactly. The normal cases can be handled generically. For example the kconfig
> > below works for architectures which only differ in byte order and 32bit/64bit,
> > which are most of them. MIPS should require more logic.
> > Also I'm ignoring x32, as it is never the kernel's native ABI.
> >
> > config CC_CAN_LINK
> > bool
> > + default $(cc_can_link_user,$(m64-flag) -mlittle-endian) if 64BIT && CPU_LITTLE_ENDIAN
> > + default $(cc_can_link_user,$(m64-flag) -mbig-endian) if 64BIT && CPU_BIG_ENDIAN
> > default $(cc_can_link_user,$(m64-flag)) if 64BIT
> > + default $(cc_can_link_user,$(m32-flag) -mlittle-endian) if CPU_LITTLE_ENDIAN
> > + default $(cc_can_link_user,$(m32-flag) -mbig-endian) if CPU_BIG_ENDIAN
> > default $(cc_can_link_user,$(m32-flag))
> >
> >
> > > Feels like that could get complicated quickly but this would probably be
> > > the objectively most robust and "hands off" option.
> >
> > Agreed.
>
> Nicolas might feel differently but this does not seem terrible to me,
> especially with a macro to wrap the common logic, which is where I felt
> like things could get unwieldy. Feel free to send an RFC if it is not
> too much work.

yes, at a first glance this looks ok to me, too.

Thanks,
Nicolas