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 <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Tobias Klauser
2019-01-16 10:16:37 +01:00
committed by Tobias Klauser
parent e5ecc2a674
commit 11f53e0313
2 changed files with 3 additions and 3 deletions

View File

@@ -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];

View File

@@ -212,7 +212,7 @@ type RawSockaddrInet6 struct {
type RawSockaddrUnix struct {
Family uint16
Path [108]uint8
Path [108]int8
}
type RawSockaddrLinklayer struct {