You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I did a little poking around and didn't find the source of this issue. It seems like it should be using the gcc builtins for this, but instead are looking to musl which doesn't implement those at the moment. I did at least verify that this gcc version has those builtins via __has_builtin.
Compiler: GCC 14.2.0
Libc: Musl 1.2.5
test command: meson test --no-rebuild --print-errorlogs -C output
ninja: job failed: gcc -o test/arm/neon/rndn-native-c test/arm/neon/rndn-native-c.p/rndn.c.o -Wl,--as-needed -Wl,--no-undefined -pie -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -lm
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-native-c.p/rndn.c.o: in function `test_simde_vrndnq_f64':
rndn.c:(.text+0x619): undefined reference to `roundeven'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-native-c.p/rndn.c.o: in function `test_simde_vrndn_f32':
rndn.c:(.text+0x6cb): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-native-c.p/rndn.c.o: in function `test_simde_vrndnh_f16':
rndn.c:(.text+0x7d6): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-native-c.p/rndn.c.o: in function `test_simde_vrndn_f64':
rndn.c:(.text+0x940): undefined reference to `roundeven'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-native-c.p/rndn.c.o: in function `test_simde_vrndnq_f32':
rndn.c:(.text+0x9db): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-native-c.p/rndn.c.o: in function `test_simde_vrndnq_f16':
rndn.c:(.text+0xafc): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-native-c.p/rndn.c.o: in function `test_simde_vrndn_f16':
rndn.c:(.text+0xc36): undefined reference to `roundevenf'
collect2: error: ld returned 1 exit status
ninja: job failed: gcc -o test/arm/neon/rndn-emul-c test/arm/neon/rndn-emul-c.p/rndn.c.o -Wl,--as-needed -Wl,--no-undefined -pie -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -lm
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-emul-c.p/rndn.c.o: in function `test_simde_vrndnq_f64':
rndn.c:(.text+0x619): undefined reference to `roundeven'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-emul-c.p/rndn.c.o: in function `test_simde_vrndn_f32':
rndn.c:(.text+0x6cb): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-emul-c.p/rndn.c.o: in function `test_simde_vrndnh_f16':
rndn.c:(.text+0x7d6): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-emul-c.p/rndn.c.o: in function `test_simde_vrndn_f64':
rndn.c:(.text+0x940): undefined reference to `roundeven'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-emul-c.p/rndn.c.o: in function `test_simde_vrndnq_f32':
rndn.c:(.text+0x9db): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-emul-c.p/rndn.c.o: in function `test_simde_vrndnq_f16':
rndn.c:(.text+0xafc): undefined reference to `roundevenf'
/usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: test/arm/neon/rndn-emul-c.p/rndn.c.o: in function `test_simde_vrndn_f16':
rndn.c:(.text+0xc36): undefined reference to `roundevenf'
collect2: error: ld returned 1 exit status
ninja: subcommands failed
The text was updated successfully, but these errors were encountered:
One could add a SIMDE_MUSL (or similar) to also skip the use of __builtin_roundeven for other musl users, unless there is a way for a header-only library to detect the use of musl at compile time
I did a little poking around and didn't find the source of this issue. It seems like it should be using the gcc builtins for this, but instead are looking to musl which doesn't implement those at the moment. I did at least verify that this gcc version has those builtins via __has_builtin.
Compiler: GCC 14.2.0
Libc: Musl 1.2.5
test command:
meson test --no-rebuild --print-errorlogs -C output
The text was updated successfully, but these errors were encountered: