4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-19 04:49:25 +08:00
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 2902b3a09e0a ("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 0f376ae22036 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: 0f376ae22036 ("Cygwin: rename __sFILE to __sFILE64 for backward
compatibility")
Fixes: 2902b3a09e0a ("Cygwin: drop requirement to build newlib's stdio64")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2022-12-08 17:16:20 +01:00
..
2016-10-25 16:24:05 +02:00
2019-11-04 07:03:15 +01:00
2022-07-11 11:52:46 +02:00
2021-11-15 19:32:23 -05:00
2018-01-17 11:47:17 -06:00
2022-09-26 13:44:21 -04:00
2021-11-15 19:32:23 -05:00
2022-05-29 17:45:52 -04:00
2018-01-17 11:47:17 -06:00
2018-01-17 11:47:13 -06:00
2021-11-15 19:32:23 -05:00
2022-05-29 17:45:52 -04:00
2021-11-15 19:32:23 -05:00