newlib-cygwin/winsup/cygwin/include
Corinna Vinschen 55de3fdd0e Cygwin: define FILE as struct __sFILE64, not as __sFILE
Until Cygwin 3.3.6, we define __LARGE64_FILES unconditionally, so we
were using the type __sFILE64 even for 64 bit.  That was lazy and wrong.
so commit 2902b3a09e ("Cygwin: drop requirement to build newlib's
stdio64") tried to fix that.

Unfortunately this patch forgot to take the exposure of the typename
__sFILE64 in userspace into account.  This leads to trouble in C++ due
to name mangling.

Commit 0f376ae220 tried to fix this by just renaming __sFILE to
__sFILE64 by using a macro.  While __sFILE and __sFILE64 are the same
size, they are not exactly congruent.

To avoid backward compatibility problems, make sure to define FILE
as the  real __sFILE64, and make sure that __sFILE is not defined at
all on Cygwin.

Fixes: 0f376ae220 ("Cygwin: rename __sFILE to __sFILE64 for backward
compatibility")
Fixes: 2902b3a09e ("Cygwin: drop requirement to build newlib's stdio64")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2022-12-08 17:16:20 +01:00
..
acl
arpa
asm Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
attr
bits Cygwin: __WORDSIZE: Drop 32 bit considerations 2022-08-03 17:48:20 +02:00
cygwin Cygwin: define FILE as struct __sFILE64, not as __sFILE 2022-12-08 17:16:20 +01:00
machine Cygwin: remove some 32-bit-only function definitions 2022-05-29 17:45:52 -04:00
net
netinet Cygwin: Implement GSO/GRO support 2022-05-13 11:11:38 +02:00
ssp
sys Cygwin: fix/drop a few comments 2022-08-03 18:14:39 +02:00
a.out.h Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
aio.h
byteswap.h
dlfcn.h
endian.h
err.h
error.h
fcntl.h Cygwin: fix formatting: collapse whitespace-only lines 2020-03-11 13:45:58 +01:00
features.h
fnmatch.h
fts.h
getopt.h change _COMPILING_NEWLIB to _LIBC 2021-11-15 19:32:23 -05:00
glob.h
icmp.h
ifaddrs.h
io.h
lastlog.h
limits.h Cygwin: __WORDSIZE: Drop 32 bit considerations 2022-08-03 17:48:20 +02:00
mntent.h
monetary.h
mqueue.h
netdb.h
nl_types.h
paths.h
poll.h
process.h Cygwin: fix formatting: collapse whitespace-only lines 2020-03-11 13:45:58 +01:00
pthread.h Cygwin: implement pthread_rwlock_clockrdlock/pthread_rwlock_clockwrlock 2021-07-29 17:31:31 +02:00
pty.h
regex.h
resolv.h Cygwin: fix formatting: drop spaces leading tabs 2020-03-11 13:45:58 +01:00
search.h
semaphore.h Cygwin: implement sem_clockwait 2021-07-29 17:13:47 +02:00
sysexits.h
syslog.h
termio.h
tzfile.h
ucontext.h
utmpx.h
wait.h