Hi Thomas! On Sun, Aug 17, 2025 at 10:30:52AM +0200, Thomas Weißschuh wrote: > Hi Willy, > > On 2025-07-21 04:56:27+0200, Willy Tarreau wrote: > > On Sat, Jul 19, 2025 at 05:38:28PM +0200, Thomas Weißschuh wrote: > > > The toplevel Makefile is capable of calculating CC from CROSS_COMPILE > > > and/or ARCH. > > > > > > Stop passing the unnecessary variable. > > (...) > > > # Execute the toplevel kernel Makefile > > > -KBUILD_MAKE = $(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) > > > CROSS_COMPILE=$(CROSS_COMPILE) > > > +KBUILD_MAKE = $(MAKE) -C $(srctree) ARCH=$(ARCH) > > > CROSS_COMPILE=$(CROSS_COMPILE) > > > > Here the goal was not to help the toplevel Makefile figure CC, but rather > > to permit the user to override it, and it's also listed in "make help", > > and even used in cc-option. > > > > I understnad that you're trying to avoid forcing CC to clang when > > building, but in this case, what will CROSS_COMPILE contain ? My > > guess is that you intend to make CROSS_COMPILE point to the gcc-based > > toolchain, and have CC point to clang for userland only. Is this the > > case ? > > Correct. > > > I think I'd be fine with this, but then we need to make it > > explicit in the help message and fix the current one, possibly just > > with this: > > > > - @echo " nolibc-test build the executable (uses \$$CC and > > \$$CROSS_COMPILE)" > > + @echo " nolibc-test build the executable (uses \$$CC)" > > I don't think this is correct. $CC itself depends on $CROSS_COMPILE > through tools/scripts/Makefile.include.
I don't understand what you mean by "depends on" here. CC defaults to ${CROSS_COMPILE}gcc and may override it if set. So if one sets CC, CROSS_COMPILE will not be used for it. Or maybe we could change it to this to indicate a precedence if that's the idea you want to convey ? - @echo " nolibc-test build the executable (uses \$$CC and \$$CROSS_COMPILE)" + @echo " nolibc-test build the executable (uses \$$CC or \$$CROSS_COMPILE)" Willy