1diff -r -U3 coreutils-8.13/lib/freadahead.c coreutils-8.13-patched/lib/freadahead.c 2--- coreutils-8.13/lib/freadahead.c 2011-08-19 10:09:37.000000000 -0600 3+++ coreutils-8.13-patched/lib/freadahead.c 2019-08-01 19:02:30.847557265 -0600 4@@ -25,7 +25,7 @@ 5 size_t 6 freadahead (FILE *fp) 7 { 8-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 9+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 10 if (fp->_IO_write_ptr > fp->_IO_write_base) 11 return 0; 12 return (fp->_IO_read_end - fp->_IO_read_ptr) 13diff -r -U3 coreutils-8.13/lib/freadptr.c coreutils-8.13-patched/lib/freadptr.c 14--- coreutils-8.13/lib/freadptr.c 2011-08-19 10:09:37.000000000 -0600 15+++ coreutils-8.13-patched/lib/freadptr.c 2019-08-01 19:02:30.851557318 -0600 16@@ -29,7 +29,7 @@ 17 size_t size; 18 19 /* Keep this code in sync with freadahead! */ 20-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 21+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 22 if (fp->_IO_write_ptr > fp->_IO_write_base) 23 return NULL; 24 size = fp->_IO_read_end - fp->_IO_read_ptr; 25diff -r -U3 coreutils-8.13/lib/freadseek.c coreutils-8.13-patched/lib/freadseek.c 26--- coreutils-8.13/lib/freadseek.c 2011-08-19 10:09:37.000000000 -0600 27+++ coreutils-8.13-patched/lib/freadseek.c 2019-08-01 19:02:30.851557318 -0600 28@@ -34,7 +34,7 @@ 29 freadptrinc (FILE *fp, size_t increment) 30 { 31 /* Keep this code in sync with freadptr! */ 32-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 33+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 34 fp->_IO_read_ptr += increment; 35 #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ 36 fp_->_p += increment; 37diff -r -U3 coreutils-8.13/lib/fseeko.c coreutils-8.13-patched/lib/fseeko.c 38--- coreutils-8.13/lib/fseeko.c 2011-08-12 02:05:46.000000000 -0600 39+++ coreutils-8.13-patched/lib/fseeko.c 2019-08-01 19:02:30.851557318 -0600 40@@ -42,7 +42,7 @@ 41 #endif 42 43 /* These tests are based on fpurge.c. */ 44-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 45+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 46 if (fp->_IO_read_end == fp->_IO_read_ptr 47 && fp->_IO_write_ptr == fp->_IO_write_base 48 && fp->_IO_save_base == NULL) 49diff -r -U3 coreutils-8.13/lib/fseterr.c coreutils-8.13-patched/lib/fseterr.c 50--- coreutils-8.13/lib/fseterr.c 2011-08-19 10:09:37.000000000 -0600 51+++ coreutils-8.13-patched/lib/fseterr.c 2019-08-01 19:02:30.851557318 -0600 52@@ -29,7 +29,7 @@ 53 /* Most systems provide FILE as a struct and the necessary bitmask in 54 <stdio.h>, because they need it for implementing getc() and putc() as 55 fast macros. */ 56-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 57+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ 58 fp->_flags |= _IO_ERR_SEEN; 59 #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ 60 fp_->_flags |= __SERR; 61diff -r -U3 coreutils-8.13/lib/stdio-impl.h coreutils-8.13-patched/lib/stdio-impl.h 62--- coreutils-8.13/lib/stdio-impl.h 2011-04-24 11:21:45.000000000 -0600 63+++ coreutils-8.13-patched/lib/stdio-impl.h 2019-08-01 19:02:30.851557318 -0600 64@@ -18,6 +18,12 @@ 65 the same implementation of stdio extension API, except that some fields 66 have different naming conventions, or their access requires some casts. */ 67 68+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this 69+ * problem by defining it ourselves. FIXME: Do not rely on glibc 70+ * internals. */ 71+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN 72+# define _IO_IN_BACKUP 0x100 73+#endif 74 75 /* BSD stdio derived implementations. */ 76 77diff -r -U3 coreutils-8.13/lib/stdio.in.h coreutils-8.13-patched/lib/stdio.in.h 78--- coreutils-8.13/lib/stdio.in.h 2011-06-17 02:06:20.000000000 -0600 79+++ coreutils-8.13-patched/lib/stdio.in.h 2019-08-01 19:03:47.484586570 -0600 80@@ -697,7 +697,7 @@ 81 /* It is very rare that the developer ever has full control of stdin, 82 so any use of gets warrants an unconditional warning. Assume it is 83 always declared, since it is required by C89. */ 84-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 85+/* _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); */ 86 #endif 87