4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-02 04:20:28 +08:00
Corinna Vinschen d59d4877f8 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 18:53:24 +01:00
..
2018-03-14 10:46:32 -05:00
2018-01-17 11:47:30 -06:00
2016-04-04 10:25:27 -05:00
2021-11-15 19:32:23 -05:00
2021-02-09 11:07:59 +01:00
2018-09-06 14:11:45 +02:00
2021-11-15 19:32:23 -05:00
2016-11-22 14:21:35 +01:00
2022-05-04 13:08:10 -04:00
2022-05-29 17:45:52 -04:00
2021-11-15 19:32:23 -05:00
2016-10-25 16:24:05 +02:00
2021-10-27 20:02:06 +02:00
2016-04-04 10:25:29 -05:00
2022-07-13 06:55:46 +02:00