Bug 14116 - Clean up 64-bit ABI vs 64-bit native size
Summary: Clean up 64-bit ABI vs 64-bit native size
Status: NEW
Alias: None
Product: glibc
Classification: Unclassified
Component: libc (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-16 16:57 UTC by H.J. Lu
Modified: 2014-06-25 10:59 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2012-05-16 16:57:20 UTC
From

http://sourceware.org/ml/libc-alpha/2012-05/msg00817.html

This gets into the general issue of the two meanings, "64-bit ABI - long, 
off_t etc. are always 64-bit" (so various "long" and "long long" functions 
can be aliases, for example) and "64-bit is the native size for various 
operations, so use 64-bit types internally".  Hitherto wordsize-64 has 
been the former (which implies the latter).  We haven't really had a way 
to configure the latter in sysdeps directories, although you can make 
gmp-mparam.h use a 64-bit type for the GMP code (and that, and soft-fp, is 
the only way MIPS n32 really uses 64-bit internally in glibc).

Like MIPS n32, x32 is a case of 64-bit registers but 32-bit ABI; logically 
we should maybe have separate sysdeps directories for this case, and if 
necessary an associated define separate from __WORDSIZE.  Most of the 
dbl-64/wordsize-64 code is the "register size" case - except for lround / 
llround where the size of "long" comes into it.