sel4test
sel4test copied to clipboard
Lots of libc undefined references
On a fresh checkout of the sel4test manifest I get heaps of undefined references for libc symbols, e.g:
sel4test-tests.dir/src/helpers.c.obj: in function `seL4_CNode_CapData_new':
/tmp/sel4test/qemu/libsel4/include/sel4/shared_types_gen.h:18:(.text+0x36): undefined reference to `__assert_fail'
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: /tmp/sel4test/qemu/libsel4/include/sel4/shared_types_gen.h:19:(.text+0x64): undefined reference to `__assert_fail'
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: apps/sel4test-driver/sel4test-tests/CMakeFiles/sel4test-tests.dir/src/helpers.c.obj: in function `seL4_MessageInfo_new':
/tmp/sel4test/qemu/libsel4/include/sel4/shared_types_gen.h:322:(.text+0xda): undefined reference to `__assert_fail'
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: /tmp/sel4test/qemu/libsel4/include/sel4/shared_types_gen.h:323:(.text+0x108): undefined reference to `__assert_fail'
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: /tmp/sel4test/qemu/libsel4/include/sel4/shared_types_gen.h:324:(.text+0x136): undefined reference to `__assert_fail'
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: apps/sel4test-driver/sel4test-tests/CMakeFiles/sel4test-tests.dir/src/helpers.c.obj:/tmp/sel4test/qemu/libsel4/include/sel4/shared_types_gen.h:325: more undefined references to `__assert_fail' follow
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: apps/sel4test-driver/sel4test-tests/CMakeFiles/sel4test-tests.dir/src/helpers.c.obj: in function `vka_utspace_alloc_at':
/tmp/sel4test/projects/seL4_libs/libsel4vka/include/vka/vka.h:262:(.text+0x1f18): undefined reference to `memset'
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: apps/sel4test-driver/sel4test-tests/CMakeFiles/sel4test-tests.dir/src/helpers.c.obj: in function `simple_get_cnode_size_bits':
/tmp/sel4test/projects/seL4_libs/libsel4simple/include/simple/simple.h:372:(.text+0x25f4): undefined reference to `memcpy'
/nix/store/xjjq9x9gyk2vy4d8kfc972qkdg2bggcv-riscv64-none-elf-binutils-2.43.1/bin/riscv64-none-elf-ld: apps/sel4test-driver/sel4test-tests/CMakeFiles/sel4test-tests.dir/src/helpers.c.obj: in function `simple_init_cap':
My GCC version is riscv64-none-elf-gcc (GCC) 14.2.1 20241116 and my binutils version is 2.43.1.
Happens on ARM as well, most likely due to GCC 14 then.
Perhaps changing the order of linking of libraries fixes this?