aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2022-08-03 13:41:35 +0200
committerCorinna Vinschen <corinna@vinschen.de>2022-08-03 13:41:35 +0200
commit2902b3a09e0a45c4971b59f78ab175b71b3c755e (patch)
tree0bdbab63d1093fd60583310f02ba386e0b3ec3e1
parent8b502d863500149f4e86497714f0462e788f2f1e (diff)
downloadnewlib-2902b3a09e0a45c4971b59f78ab175b71b3c755e.zip
newlib-2902b3a09e0a45c4971b59f78ab175b71b3c755e.tar.gz
newlib-2902b3a09e0a45c4971b59f78ab175b71b3c755e.tar.bz2
Cygwin: drop requirement to build newlib's stdio64
Given that 64 bit Cygwin defines all file access types (off_t, fpos_t, and derived types) as 64 bit anyway, there's no reason left to rely on the stdio64 part of newlib. Use base functions and base types. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--newlib/configure.host1
-rw-r--r--newlib/libc/include/stdio.h4
-rw-r--r--winsup/cygwin/include/cygwin/config.h2
-rw-r--r--winsup/cygwin/syscalls.cc4
4 files changed, 2 insertions, 9 deletions
diff --git a/newlib/configure.host b/newlib/configure.host
index 3cfed4c..98ce07d 100644
--- a/newlib/configure.host
+++ b/newlib/configure.host
@@ -420,7 +420,6 @@ fi
case "${host}" in
*-*-cygwin*)
posix_dir=posix
- stdio64_dir=stdio64
xdr_dir=xdr
;;
*-*-netware*)
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
index c75e481..ea4ddf3 100644
--- a/newlib/libc/include/stdio.h
+++ b/newlib/libc/include/stdio.h
@@ -67,14 +67,10 @@ typedef __FILE FILE;
# define __FILE_defined
#endif
-#ifdef __CYGWIN__
-typedef _fpos64_t fpos_t;
-#else
typedef _fpos_t fpos_t;
#ifdef __LARGE64_FILES
typedef _fpos64_t fpos64_t;
#endif
-#endif /* !__CYGWIN__ */
#ifndef _OFF_T_DECLARED
typedef __off_t off_t;
diff --git a/winsup/cygwin/include/cygwin/config.h b/winsup/cygwin/include/cygwin/config.h
index 1d515a6..2a70832 100644
--- a/winsup/cygwin/include/cygwin/config.h
+++ b/winsup/cygwin/include/cygwin/config.h
@@ -54,8 +54,6 @@ extern inline struct _reent *__getreent (void)
Just leave them alone. */
#define _READ_WRITE_RETURN_TYPE _ssize_t
#define _READ_WRITE_BUFSIZE_TYPE size_t
-#define __LARGE64_FILES 1
-#define __USE_INTERNAL_STAT64 1
#define __LINUX_ERRNO_EXTENSIONS__ 1
#define _MB_EXTENDED_CHARSETS_ALL 1
#define __HAVE_LOCALE_INFO__ 1
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 6455f25..a92948f 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -4191,7 +4191,7 @@ gethostid (void)
#define ETC_SHELLS "/etc/shells"
static int shell_index;
-static struct __sFILE64 *shell_fp;
+static FILE *shell_fp;
extern "C" char *
getusershell ()
@@ -4210,7 +4210,7 @@ getusershell ()
static char buf[PATH_MAX];
int ch, buf_idx;
- if (!shell_fp && !(shell_fp = fopen64 (ETC_SHELLS, "rt")))
+ if (!shell_fp && !(shell_fp = fopen (ETC_SHELLS, "rt")))
{
if (def_shells[shell_index])
return strcpy (buf, def_shells[shell_index++]);