aboutsummaryrefslogtreecommitdiff
path: root/src/syscall
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2018-06-25 09:20:14 +0200
committerTobias Klauser <tobias.klauser@gmail.com>2018-08-20 08:01:43 +0000
commit88aa208024f04845381a86f2d5679d2e520b1ff6 (patch)
treebfd5160603ef90e923c373e93dbb86a41383d695 /src/syscall
parentdc79206aec20b92388e7050d0359dccccd31ef0b (diff)
downloadgo-88aa208024f04845381a86f2d5679d2e520b1ff6.tar.xz
syscall: use private copy of ustat_t on Linux
Port CL 120295 from golang.org/x/sys/unix to the syscall package. The ustat syscall has been deprecated on Linux for a long time and the upcoming glibc 2.28 will remove ustat.h and it can no longer be used to to generate the Ustat_t wrapper type. Since Linux still provides the syscall, let's not break this functionality and add a private copy of struct ustat so Ustat_t can still be generated. Fixes golang/go#25990 Change-Id: I0dab2ba1cc76fbd21553b499f9256fd9d59ca409 Reviewed-on: https://go-review.googlesource.com/120563 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/syscall')
-rw-r--r--src/syscall/types_linux.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/syscall/types_linux.go b/src/syscall/types_linux.go
index 3c4c2f2cfd..ccc5c54f0b 100644
--- a/src/syscall/types_linux.go
+++ b/src/syscall/types_linux.go
@@ -53,7 +53,6 @@ package syscall
#include <termios.h>
#include <time.h>
#include <unistd.h>
-#include <ustat.h>
#include <utime.h>
enum {
@@ -124,6 +123,15 @@ struct my_epoll_event {
int32_t pad;
};
+// ustat is deprecated and glibc 2.28 removed ustat.h. Provide the type here for
+// backwards compatibility. Copied from /usr/include/bits/ustat.h
+struct ustat {
+ __daddr_t f_tfree;
+ __ino_t f_tinode;
+ char f_fname[6];
+ char f_fpack[6];
+};
+
*/
import "C"