From 63fc586f45fe72d95d5240a5d5eb95e6503907d3 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Thu, 21 Jun 2018 14:21:10 +0200 Subject: [PATCH] unix: use private copy of ustat_t on Linux 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. Updates golang/go#25990 Change-Id: I74cf405ce6df92da36f1ee900ab6d98997d8f994 Reviewed-on: https://go-review.googlesource.com/120295 Run-TryBot: Tobias Klauser TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- unix/linux/types.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/unix/linux/types.go b/unix/linux/types.go index ad11248c..c45b4e70 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -60,7 +60,6 @@ package unix #include #include #include -#include #include #include #include @@ -297,6 +296,15 @@ struct perf_event_attr_go { __u32 __reserved_2; }; +// 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"