[PATCH 1/3] Change _offset type from int to _off_t

Sebastian Huber sebastian.huber@embedded-brains.de
Mon Nov 26 16:22:00 GMT 2012

On 11/23/2012 11:21 AM, Corinna Vinschen wrote:
> On Nov 22 12:24, Sebastian Huber wrote:
>> 2012-11-22  Sebastian Huber <sebastian.huber@embedded-brains.de>
>> 	* libc/include/sys/reent.h (__sFILE): Change type of _offset
>> 	from int to _off_t.
>> [...]
>> It breaks binary compatibility also on some RTEMS targets, but this is
>> not a problem.
> It breaks binary compatibility.  Full stop.  And this is a problem.

Yes, this is a problem, but not for RTEMS.

> If we do that, we must make really sure that this isn't a problem.

We can add a new type, which is int by default and for example _off_t on RTEMS.

> For instance, on 32 bit Cygwin, _off_t is 32 bit (while off_t ==
> _off64_t), so the change from int to _off_t would not break the ABI.
> But newlib is not only RTEMS and Cygwin, that's the problem.
> However, see the thread starting at
> http://sourceware.org/ml/newlib/2012/msg00214.html
> In theory you're not supposed to change struct __sFILE, rather you're
> supposed to use struct __sFILE64 and the functions defined in the
> libc/stdio64 subdir.  This discussion seems to have gone lost.

Ok, and how can I do this.  Is this a configure option?  I don't want to use 
fseeko64() directly.

Sebastian Huber, embedded brains GmbH

Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone   : +49 89 18 90 80 79-6
Fax     : +49 89 18 90 80 79-9
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

More information about the Newlib mailing list