liburing: Use libc on rv64/clang18

clang18 generates memset call which demands linking with libc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2024-05-24 00:33:20 -07:00
parent 17a1bb00de
commit 44b4586c73
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -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}