This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/15767] C++ ABI inconsistency for fpos_t on 64-bit archs
- From: "joseph at codesourcery dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Sun, 21 Jul 2013 22:07:01 +0000
- Subject: [Bug libc/15767] C++ ABI inconsistency for fpos_t on 64-bit archs
- Auto-submitted: auto-generated
- References: <bug-15767-131 at http dot sourceware dot org/bugzilla/>
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.