toolchain: $(TARGET_CROSS) portability + Bootlin gcc 15.1 on all boards#275
Open
gretel wants to merge 2 commits intoF5OEO:futurefrom
Open
toolchain: $(TARGET_CROSS) portability + Bootlin gcc 15.1 on all boards#275gretel wants to merge 2 commits intoF5OEO:futurefrom
gretel wants to merge 2 commits intoF5OEO:futurefrom
Conversation
…ostic prefix Both packages had hard-coded MAIA_HTTPD_CROSS_COMPILE and linker config paths pointing at specific toolchain prefixes: - maia-httpd.mk originally had "arm-none-linux-gnueabihf-" (Arm GNU 14.2) - futuresdr.mk originally had "arm-linux-gcc" (Bootlin) Neither worked across both toolchains. Now that fishball7020 uses Bootlin gcc 15.1 while the other 11 boards stay on Arm GNU 14.2, the hardcoded prefix approach is broken by construction: any choice works for half the boards and breaks the other half. Replace with Buildroot's canonical $(TARGET_CROSS) variable, which expands to: - $(HOST_DIR)/bin/arm-none-linux-gnueabihf- on Arm GNU external - $(HOST_DIR)/bin/arm-linux- on Bootlin external - $(HOST_DIR)/bin/arm-buildroot-linux-gnueabihf- on internal Buildroot so Cargo's OPENBLAS_CC / linker config / FC pick up the right wrapper for whichever toolchain is active. The gcc/gfortran suffix is added at the call site because $(TARGET_CROSS) is only the prefix. Hardware-validated on fishball7020 (Bootlin path) and CI-validated on all 11 Arm GNU boards via run 24134967462 / 24135179341 follow-ups. Signed-off-by: Tom Hensel <[email protected]>
…025.08-1 Replaces Arm GNU 14.2.Rel1 (gcc 14.2 / libstdc++ 14.2 / glibc 2.39) with Bootlin armv7-eabihf--glibc--bleeding-edge-2025.08-1 (gcc 15.1 / libstdc++ 15.1 / glibc 2.41 / binutils 2.44) across all 12 Tezuka defconfigs. Rationale: pre-built ARMv7 C++ binaries sourced from external cross-build pipelines (which track mainline gcc) need a matching libstdc++ on the rootfs at runtime. GLIBCXX_3.4.34 (libstdc++ 15.1) is not available in Arm GNU 14.2, which blocks any C++23 consumer from loading on the target. Applies uniformly to all 12 boards so every Tezuka variant gets the same C++ runtime ABI. Matrix CI validates the toolchain swap does not break any board's build. Signed-off-by: Tom Hensel <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adopt Bootlin gcc 15.1 / libstdc++ 15.1 / glibc 2.41 across all Tezuka boards. libstdc++ 14.2 (from Arm GNU 14.2) lacks
GLIBCXX_3.4.34, which blocks any C++23 consumer from loading on the target at runtime.Two-commit series (the package portability fix must land with the toolchain bump so maia-httpd/futuresdr continue to cross-compile correctly after the toolchain switch):
package(maia-httpd, futuresdr): use $(TARGET_CROSS) for toolchain-agnostic prefix— replaces hardcodedarm-none-linux-gnueabihf-(maia-httpd) andarm-linux-(futuresdr) with Buildroot's canonical$(TARGET_CROSS). Zero behavioural change on Arm GNU 14.2.toolchain: bump all Tezuka boards to Bootlin gcc 15.1 bleeding-edge-2025.08-1— swaps all 12 defconfigs fromBR2_TOOLCHAIN_EXTERNAL_ARM_ARM=ytoBR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y+BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE=y.Matrix CI: 12/12 boards build green (kernel, U-Boot, userspace, maia-httpd, futuresdr all cross-compile cleanly with Bootlin gcc 15.1). Hardware-validated on FISH Ball Rev.A (
libstdc++.so.6.0.34,GLIBCXX_3.4.34present, maia-httpd runs).