From 88aa208024f04845381a86f2d5679d2e520b1ff6 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Mon, 25 Jun 2018 09:20:14 +0200 Subject: [PATCH] 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 TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/syscall/types_linux.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 #include #include -#include #include 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" -- 2.50.0