[PATCH v3 0/3] kbuild: userprogs: introduce architecture-specific CC_CAN_LINK and userprog flags

Thomas Weißschuh posted 3 patches 1 month ago
Makefile                | 13 +++++++++++--
init/Kconfig            |  8 ++++++--
scripts/Kconfig.include |  3 +++
scripts/cc-can-link.sh  |  2 +-
4 files changed, 21 insertions(+), 5 deletions(-)
[PATCH v3 0/3] kbuild: userprogs: introduce architecture-specific CC_CAN_LINK and userprog flags
Posted by Thomas Weißschuh 1 month ago
The current logic to inherit -m32/-m64 from the kernel build only works
for a few architectures. It does not handle byte order differences,
architectures using different compiler flags or different kinds of ABIs.

Introduce a per-architecture override mechanism to set CC_CAN_LINK and
the flags used for userprogs.
This revision only contains the generic kbuild infrastructure bits.
The architecture-specific will go through the architecture trees.
They are present in v2 of the series linked below.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
Changes in v3:
- Drop all architecture-specific patches, they will go in through the architecture trees.
- Trim recipient list.
- Fix old reference to CONFIG_ARCH_USERPROGS_CFLAGS
- Link to v2: https://lore.kernel.org/r/20251014-kbuild-userprogs-bits-v2-0-faeec46e887a@linutronix.de

Changes in v2:
- Rebase and drop already applied patch
- Disable CC_CAN_LINK if the test program generates warnings
- Move to architecture-specific logic
- Link to v1: https://lore.kernel.org/r/20250813-kbuild-userprogs-bits-v1-0-2d9f7f411083@linutronix.de

---
Thomas Weißschuh (3):
      kbuild: don't enable CC_CAN_LINK if the dummy program generates warnings
      init: deduplicate cc-can-link.sh invocations
      kbuild: allow architectures to override CC_CAN_LINK

 Makefile                | 13 +++++++++++--
 init/Kconfig            |  8 ++++++--
 scripts/Kconfig.include |  3 +++
 scripts/cc-can-link.sh  |  2 +-
 4 files changed, 21 insertions(+), 5 deletions(-)
---
base-commit: 10f8210c7a7098897fcee5ca70236167b39eb797
change-id: 20250813-kbuild-userprogs-bits-03c117da4d50

Best regards,
-- 
Thomas Weißschuh <thomas.weissschuh@linutronix.de>

Re: [PATCH v3 0/3] kbuild: userprogs: introduce architecture-specific CC_CAN_LINK and userprog flags
Posted by Nicolas Schier 1 month ago
On Fri, 14 Nov 2025 14:43:55 +0100, Thomas Weißschuh wrote:
> The current logic to inherit -m32/-m64 from the kernel build only works
> for a few architectures. It does not handle byte order differences,
> architectures using different compiler flags or different kinds of ABIs.
> 
> Introduce a per-architecture override mechanism to set CC_CAN_LINK and
> the flags used for userprogs.
> This revision only contains the generic kbuild infrastructure bits.
> The architecture-specific will go through the architecture trees.
> They are present in v2 of the series linked below.
> 
> [...]

Applied to kbuild-next, thanks!

[1/3] kbuild: don't enable CC_CAN_LINK if the dummy program generates warnings
      https://git.kernel.org/kbuild/c/d81d9d38
[2/3] init: deduplicate cc-can-link.sh invocations
      https://git.kernel.org/kbuild/c/80623f2c
[3/3] kbuild: allow architectures to override CC_CAN_LINK
      https://git.kernel.org/kbuild/c/deab487e

Please note that commit hashes might change in case of issues with
kbuild-next.

Best regards,
-- 
Nicolas