diff --git a/meta-oe/recipes-support/liburing/liburing_2.6.bb b/meta-oe/recipes-support/liburing/liburing_2.6.bb index b892ce4ac2..fc3fe1cac1 100644 --- a/meta-oe/recipes-support/liburing/liburing_2.6.bb +++ b/meta-oe/recipes-support/liburing/liburing_2.6.bb @@ -18,9 +18,14 @@ DEPENDS:append:libc-musl = " libucontext" XCFLAGS = "-pthread" XCFLAGS:append:libc-musl = " -lucontext" +USELIBC = "" +# clang-18 on RV64 emits memset for arch/riscv64/syscall.h provided __do_syscall4 macro +# this does not happen for gcc or older clang, so link with libc since we need memset API +# -fno-builtin-memset does not help +USELIBC:riscv64:toolchain-clang = "--use-libc" EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'" do_configure() { - ${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir} + ${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir} ${USELIBC} } do_install () { oe_runmake install DESTDIR=${D}