[Bug libc/15767] C++ ABI inconsistency for fpos_t on 64-bit archs

joseph at codesourcery dot com sourceware-bugzilla@sourceware.org
Sun Jul 21 22:09:00 GMT 2013


http://sourceware.org/bugzilla/show_bug.cgi?id=15767

--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
On Sun, 21 Jul 2013, bugdal at aerifal dot cx wrote:

> With that said, I'm not sure why features.h doesn't make _FILE_OFFSET_BITS a
> complete no-op on 64-bit archs. That would make the issue go away entirely.

In general _FILE_OFFSET_BITS can change types even on 64-bit 
architectures.  In particular, on MIPS n64, struct stat and struct stat64 
are different (I don't know whether this was a historical accident, or an 
attempt at binary compatibility with IRIX), with the consequence that n64 
does not use sysdeps/unix/sysv/linux/wordsize-64/, and meaning that 
_FILE_OFFSET_BITS=64 changes the struct stat layout to match struct stat64 
and maps all functions using struct stat to the versions that use struct 
stat64 - and for ABI compatibility, it can't stop doing so.

-- 
You are receiving this mail because:
You are on the CC list for the bug.



More information about the Glibc-bugs mailing list