[RFD] Trying to move Cygwin over to 64 bit file access

Corinna Vinschen vinschen@redhat.com
Fri Jun 14 02:42:00 GMT 2002

On Wed, Jun 12, 2002 at 08:01:41PM -0400, J. Johnston wrote:
>  1. you don't use __CYGWIN__ as the flag to check since other platforms may need/want this

So we need a configure option that the target OS supports 64 bit file
access.  Something like __HAVE_FILEACCESS64__ or similar.  Another
question comes to mind:

What about the other datatypes?  Since we tried to keep the impact
to newlib as small as possible, we defined several datatypes only
locally in Cygwin as there are

    __off32_t, __off64_t

    __uid16_t, __uid32_t

    __gid16_t, __gid32_t

    struct __stat32, struct __stat64

    struct __group16, struct __group32

    Fortunately `struct passwd' already contained the uid and gid
    members as `int', so a new struct was unnecessary.

Should we move all that stuff back to newlib?  Or only the __offXX_t
stuff?  Unfortunately, struct __stat64 needs both, 64 bit off_t and
32 bit uid_t and gid_t.  So it's somewhat complex to do the one thing
and not the other.

>  2. you are consistent with the naming scheme (_lseek64 vs lseek64)


> In the case above, the cast should be (__loff_t)-1 but I am sure you would have spotted
> that if it wasn't just an example.

Yeah, sure.  Obviously this *requires* to have __offXX_t types defined
in newlib.  Oh boy.

> It would also be nice if you could update the reent docs to mention that for platforms that
> support 64-bit platforms they should set flag-x and supply OS calls: a, b, c...

It will take some time to get this done, anyway.  So, yes, we'll try
to keep the docs in sync, somehow.


More information about the Newlib mailing list