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

Thomas Weißschuh
2025-09-09T05:50:45Z

On Sun, Sep 07, 2025 at 07:24:07AM +0200, Nicolas Schier wrote:
> 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.

Ack. I'll take a shot at this, but it I might only get around to it next cycle.

Thomas