https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106660
Bug ID: 106660 Summary: riscv32-linux-gnu fails to compile libgo due to having only 64bit time_t (no support for 32bit time_t) Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: build Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: pinskia at gcc dot gnu.org Target Milestone: --- Target: riscv32-linux-gnu /bajas/pinskia/src/toolchain-riscv/scripts/../src/libgo/go/runtime/os_linux.go:30:30: error: reference to undefined name ‘_SYS_futex’ 30 | return int32(syscall(_SYS_futex, uintptr(addr), uintptr(op), uintptr(val), uintptr(ts), uintptr(addr2), uintptr(val3))) | ^ /bajas/pinskia/src/toolchain-riscv/scripts/../src/libgo/go/runtime/os_linux.go:251:30: error: reference to undefined name ‘_SYS_timer_settime’ 251 | return int32(syscall(_SYS_timer_settime, uintptr(timerid), uintptr(flags), uintptr(unsafe.Pointer(new)), uintptr(unsafe.Pointer(old)), 0, 0)) | ^ This is due to _SYS_futex not existing for riscv32, only SYS_futex_time64 exists. Same for _SYS_timer_settime, only _SYS_timer_settime64 .