hi thanks, firmware, kernel, and userland files are on a distributed pool of disks, mounted time to time to chrooted gentoo stage4 rootfs on different machines (Apple MacMini intel, but also PowerMacG5, and XEON servers). I needed a way to identify the environment provided by the chrooted rootfs, and a way to manage to check the tools versions in the ecosystem ( with gentoo, you also have multiple gcc, both native and cross-compiler, you need to check which version is currently selected gcc-config -l [1] aarch64-unknown-linux-gnu-6.5.0 [2] aarch64-unknown-linux-gnu-9.3.0 * [3] armv5tel-softfloat-linux-gnueabi-6.5.0 * [4] armv5tel-softfloat-linux-gnueabi-9.3.0 [5] armv7a-unknown-linux-gnueabihf-6.5.0 [6] armv7a-unknown-linux-gnueabihf-8.4.0 [7] armv7a-unknown-linux-gnueabihf-9.3.0 * [8] hppa-unknown-linux-gnu-6.5.0 [9] hppa-unknown-linux-gnu-9.3.0 * [10] hppa64-unknown-linux-gnu-6.5.0 [11] hppa64-unknown-linux-gnu-9.3.0 * [12] i686-pc-linux-gnu-4.9.4-gnat2016 [13] i686-pc-linux-gnu-6.5.0 [14] i686-pc-linux-gnu-7.3.1-gnat2018 [15] i686-pc-linux-gnu-7.5.0 [16] i686-pc-linux-gnu-8.3.1-gnat2019 [17] i686-pc-linux-gnu-8.4.0 [18] i686-pc-linux-gnu-9.3.0 [19] i686-pc-linux-gnu-10.2.0 * [20] mips-unknown-linux-gnu-4.1.2-legacy [21] mips-unknown-linux-gnu-4.5.3-legacy [22] mips-unknown-linux-gnu-6.5.0 [23] mips-unknown-linux-gnu-9.3.0 * [24] mips64-unknown-linux-gnu-6.5.0 * [25] mips64-unknown-linux-gnu-9.3.0 [26] mipsel-unknown-linux-gnu-6.5.0 [27] mipsel-unknown-linux-gnu-9.3.0 * [28] mipsle-unknown-linux-gnu-4.5.3-legacy * [29] powerpc-unknown-linux-gnu-6.5.0 [30] powerpc-unknown-linux-gnu-9.3.0 * [31] powerpc64-unknown-linux-gnu-9.3.0 * [32] sparc64-unknown-linux-gnu-6.5.0 * [33] sparc64-unknown-linux-gnu-9.3.0 [34] x86_64-pc-linux-gnu-10.2.0 * ) So, I created a "building script" that manages these checks before starting compiling stuff. It's still beta stuff, but it's very handy, especially after months when you don't remember what you were using, on which chroot, etc, and which are the minimal requisites. macmini2-intel kernel-6.0.2-parisc-c3750 # ./mybuild-2024 2 [step2] compiling kernel-6.0.2(parisc/c3750) | note: experimental, not yet booted toolchain(hppa64-unknown-linux-gnu:2.34.0/9.3.0) ----------------------------------------------- checking myhost as qualified_host ... success checking .config ... success checking blobs ... success ----------------------------------------------- gadget_to_do(build) ... kernel/build cleaning ............. done gadget_to_do(clean) ... kernel/clean building kernel ... success ----------------------------------------------- gadget_to_do(binary) ... overlay/binary gadget_to_do(sweep) ... kernel/sweep app_body =kernel.elf app_size =7833152 byte app_size_max=8000000 byte checking size ... passed gadget_to_do(binary_report) ... kernel/binary_report At the moment, I'm compiling a new Gentoo-stage4/x86-64bit with cross-gcc-v12 and v13 for hppa64 in the list of things to be emerged. For kernel >=6.12.* It will easy to add the "the kernel requires this gcc minimal version" constrain echo "12.0" > profile/gcc_ver_min and "qualified host", as this new "2024/12 rootfs" containing gcc-hppa64-v12 echo "macmini2-intel/v19.0-2024-12" > profile/qualified_host "macmini2-intel" is a unique name within the network, associated with a static ip. So, it's a label that identifies only a computer. The other entry "v18.0-2024-12" identifies the rootfs. The version comes from "gentoo portage version", the date is my build-date. Thanks for your quick reply =) D. On Sun, Dec 1, 2024 at 12:36 AM John David Anglin <dave.anglin@xxxxxxxx> wrote: > > On 2024-11-30 5:54 p.m., DiTBho Down in The Bunny hole wrote: > > hi > > I am trying to compile recent >= kernel-6.12.* > > with the toolchain hppa64-unknown-linux-gnu > > + binutils-v2.34.0 > > + gcc-v9.3.0 > > > > The process stops with an error > > > > In file included from mm/mempool.c:21: > > mm/slab.h:25:9: error: unknown type name 'u128' > > 25 | typedef u128 freelist_full_t; > > | ^~~~ > > > > where "u128" should be defined? > > Is my cc too old? > Yes. TImode is a relatively recent addition to hppa64 compiler. I know it's in gcc-12. Your > binutils version is also very old. > > Dave > --- > > John David Anglin dave.anglin@xxxxxxxx >