From 11f53e03133963fb11ae0588e08b5e0b85be8be5 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Wed, 16 Jan 2019 10:16:37 +0100 Subject: [PATCH] unix: use int8 for RawSockaddrUnix.Path on linux/riscv64 On linux/riscv64, char defaults to unsigned, so explicitly make RawSockaddrUnix.Path signed. Patch by Ryan O'Leary. Updates golang/go#27532 Change-Id: If99a3953462ad98f61d8fafcda3ebb71b44e6018 Reviewed-on: https://go-review.googlesource.com/c/157900 Run-TryBot: Tobias Klauser TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor Reviewed-by: Brad Fitzpatrick --- unix/linux/types.go | 4 ++-- unix/ztypes_linux_riscv64.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/unix/linux/types.go b/unix/linux/types.go index fecd2ce1..bd5667c7 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -230,8 +230,8 @@ struct sockaddr_rc { // copied from /usr/include/linux/un.h struct my_sockaddr_un { sa_family_t sun_family; -#if defined(__ARM_EABI__) || defined(__powerpc64__) - // on ARM char is by default unsigned +#if defined(__ARM_EABI__) || defined(__powerpc64__) || defined(__riscv) + // on some platforms char is unsigned by default signed char sun_path[108]; #else char sun_path[108]; diff --git a/unix/ztypes_linux_riscv64.go b/unix/ztypes_linux_riscv64.go index 6009e5dd..4146e6d2 100644 --- a/unix/ztypes_linux_riscv64.go +++ b/unix/ztypes_linux_riscv64.go @@ -212,7 +212,7 @@ type RawSockaddrInet6 struct { type RawSockaddrUnix struct { Family uint16 - Path [108]uint8 + Path [108]int8 } type RawSockaddrLinklayer struct {