This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RTEMS Targets Issue #2 - ftello()/fseeko()


On 2016-03-20 16:14, Corinna Vinschen wrote:
On Mar 20 14:18, Yaakov Selkowitz wrote:
On 2016-03-20 07:35, Corinna Vinschen wrote:
Note especially the _FILE_OFFSET_BITS == 64.  So fseeko/ftello are
always defined on systems with sizeof(off_t) == 8.

This is the exception to the "-D_FILE_OFFSET_BITS=64 as no affect on 64-bit
systems" rule; try compiling with -ansi and you should see they are not.
Note that _POSIX_C_SOURCE=200809L is on by default, so maybe that's what
you're seeing?

I'm not sure I understand.  I only referred to the man page, I didn't
test this.  Can you expand on this a bit?

_FILE_OFFSET_BITS is just another feature test macro, which means that off_t should be 64-bit, and standard functions which use off_t should be redirected to the 64-bit variants. It is not defined automatically on 64-bit platforms (even where off_t is *naturally* 64-bit).

I still have to implement this and the _LARGEFILE64_SOURCE (which exposes off64_t and the open64 family of functions) feature test macros. This is a bit tricky because Cygwin is different from other platforms in this regard. For now, adding my pending patch for POSIX.1-2001 enablement should suffice.

--
Yaakov


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]