On Mon, Jun 16, 2025 at 11:49:41PM +0900, Masahiro Yamada wrote:
> On Wed, Jun 11, 2025 at 4:38 PM Thomas Weißschuh
> <[email protected]> wrote:
> >
> > Make sure the byte order and ABI of the userprogs matches the one of the
> > kernel, similar to how the bit size is handled.
> > Otherwise the userprogs may not be executable.
> > This happens for example on powerpc little endian, or riscv32.
> >
> > Signed-off-by: Thomas Weißschuh <[email protected]>
> > ---
> >  Makefile | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index 
> > c4293cf91e968ca8ee64452841fb266e24df63f6..b9aa1058321dabd3b3dd5610e45a2807dfa257f4
> >  100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -1129,8 +1129,8 @@ ifneq ($(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS),)
> >  LDFLAGS_vmlinux        += --emit-relocs --discard-none
> >  endif
> >
> > -# Align the bit size of userspace programs with the kernel
> > -USERFLAGS_FROM_KERNEL := -m32 -m64 --target=%
> > +# Align the bit size, byte order and architecture of userspace programs 
> > with the kernel
> > +USERFLAGS_FROM_KERNEL := -m32 -m64 -mlittle-endian -mbig-endian --target=% 
> > -march=% -mabi=%
> >  KBUILD_USERCFLAGS  += $(filter $(USERFLAGS_FROM_KERNEL), 
> > $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
> >  KBUILD_USERLDFLAGS += $(filter $(USERFLAGS_FROM_KERNEL), 
> > $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
> 
> 
> Why didn't you do like this?
> 
> USERFLAGS_FROM_KERNEL := $(filter -m32 -m64 -mlittle-endian
> -mbig-endian --target=% -march=% -mabi=%, $(KBUILD_CPPFLAGS)
> $(KBUILD_CFLAGS))
> KBUILD_USERCFLAGS  += $(USERFLAGS_FROM_KERNEL)
> KBUILD_USERLDFLAGS += $(USERFLAGS_FROM_KERNEL)

The idea was to keep the USERFLAGS_FROM_KERNEL line free of clutter, as it is
probably going to change more often. To improve reviewability and gain some
available horizontal space in case it should be needed at some point.

If you prefer the other layout I'll be happy to switch it around.


Thomas

Reply via email to