On Wed, Mar 9, 2022 at 6:33 AM Waldemar Brodkorb wbx@uclibc-ng.org wrote:
Compilation errors with riscv arch.
I tested now with the patch reverted and the compile succeeded. There is indeed a warning thrown by gcc.
The following warnings?
librt/clock_nanosleep.c: In function 'clock_nanosleep': librt/clock_nanosleep.c:43:22: warning: implicit declaration of function 'LIBC_CANCEL_ASYNC'; did you mean 'LIBC_CANCEL_HANDLED'? [-Wimplicit-function-declaration] int oldstate = LIBC_CANCEL_ASYNC (); ^~~~~~~~~~~~~~~~~ LIBC_CANCEL_HANDLED librt/clock_nanosleep.c:48:7: warning: implicit declaration of function 'LIBC_CANCEL_RESET'; did you mean 'LIBC_CANCEL_HANDLED'? [-Wimplicit-function-declaration] LIBC_CANCEL_RESET (oldstate); ^~~~~~~~~~~~~~~~~ LIBC_CANCEL_HANDLED
They definitely mean that building a riscv program that calls clock_nanosleep will fail with references to undefined symbols, so just reverting that patch doesn't look like a solution. Maybe there's a way to make riscv port more like other ports that support both mmu+NPTL and nommu, I'm looking into it.