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 .

Reply via email to