https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81393
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #12) > That is better, syscall_linux_s390.go already compiles, but > syscall_linux_s390x.go still doesn't: > ../../../libgo/go/syscall/syscall_linux_s390x.go:28:3: error: incompatible > type for field 3 in struct construction (cannot use type uint32 as type > uint64) > uint32(uintptr(unsafe.Pointer(regs))), > ^ > ../../../libgo/go/syscall/syscall_linux_s390x.go:37:3: error: incompatible > type for field 3 in struct construction (cannot use type uint32 as type > uint64) > uint32(uintptr(unsafe.Pointer(regs))), > ^ > Those s390x two occurrences of uint32(uintptr(unsafe.Pointer(regs))) really > should be uint64(uintptr(unsafe.Pointer(regs))). Let me test that now. With that change it passed bootstrap/regtest on s390x-linux.