aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/0041-Use-generic-errstr.go-implementation-on-musl.patch
blob: 222513d656e7038e57ec3e38348ded172b3b8b2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From 70d70a1106b31ab840dbf5361312af221a2d5f04 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 19 Apr 2021 07:21:41 +0200
Subject: [PATCH] Use generic errstr.go implementation on musl

glibc provides two version of strerror_r() depending on a feature test
macro. The first is the XSI-compliant version which returns an int, the
second is GNU-specific and returns a char pointer.

Similarity, gcc's libgo provides two implementations of Errstr() both of
which use strerror_r(). On Linux, it is assumed that the GNU-specific
strerror_r version is used. However, musl only provides the
XSI-compliant version of strerror_r. This patch enables the generic
Errstr() implementation which also uses the XSI-compliant version of
strerror_r.
---
 libgo/go/syscall/errstr.go       | 1 -
 libgo/go/syscall/errstr_glibc.go | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/libgo/go/syscall/errstr.go b/libgo/go/syscall/errstr.go
index 6c2441d364d..8f7c5538163 100644
--- a/libgo/go/syscall/errstr.go
+++ b/libgo/go/syscall/errstr.go
@@ -5,7 +5,6 @@
 // license that can be found in the LICENSE file.
 
 // +build !hurd
-// +build !linux
 
 package syscall
 
diff --git a/libgo/go/syscall/errstr_glibc.go b/libgo/go/syscall/errstr_glibc.go
index 5b19e6f202d..8dc60172186 100644
--- a/libgo/go/syscall/errstr_glibc.go
+++ b/libgo/go/syscall/errstr_glibc.go
@@ -7,7 +7,7 @@
 // We use this rather than errstr.go because on GNU/Linux sterror_r
 // returns a pointer to the error message, and may not use buf at all.
 
-// +build hurd linux
+// +build hurd !linux
 
 package syscall
 
-- 
2.31.1