sel4test icon indicating copy to clipboard operation
sel4test copied to clipboard

Lots of libc undefined references

Open Ivan-Velickovic opened this issue 9 months ago • 3 comments

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':

Ivan-Velickovic avatar Mar 11 '25 23:03 Ivan-Velickovic

My GCC version is riscv64-none-elf-gcc (GCC) 14.2.1 20241116 and my binutils version is 2.43.1.

Ivan-Velickovic avatar Mar 11 '25 23:03 Ivan-Velickovic

Happens on ARM as well, most likely due to GCC 14 then.

Ivan-Velickovic avatar Mar 11 '25 23:03 Ivan-Velickovic

Perhaps changing the order of linking of libraries fixes this?

Indanz avatar May 23 '25 07:05 Indanz