This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: PATCH: Use x86_64 bits/environments.h for both i386 and x86_64


> That is true.  However, ILP32 here means -m32, not -mx32.
> POSIX only supports LP64 (-m64) and ILP32 (-m32).  There
> is nothing for -mx32.

cf http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html

POSIX doesn't say that any of the variants have to be mutually compatible.
x32 meets the requirements of _POSIX_V7_ILP32_OFFBIG.
So __ILP32_OFFBIG_{C,LD}FLAGS could be -mx32.

It also says that additional environments could be supported, beyond those
that are listed in the standard.  So _CS_V7_WIDTH_RESTRICTED_ENVS could
yield an additional name we choose.  Then that new name could correspond to
-mx32, or _POSIX_V7_ILP32_OFFBIG could correspond to -mx32 and the new name
to what _POSIX_V7_ILP32_OFFBIG means today.

It's not clear adding an additional nonstandard name is particularly
useful, since it seems unlikely anything would ever request it.

Leaving things as they are is almost certainly the wisest thing to do, at
least for now.  But if a POSIX-compliant application really just wants
_POSIX_V7_ILP32_OFFBIG because it is not 64-bit clean yet cares about big
files, having that produce -mx32 on an x86_64 system would mean that this
application gets built to the most efficient ABI it can handle (presuming
x32 is more efficient than i386, which is the point of it).


Thanks,
Roland


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