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>