x32 psABI draft version 0.2
Chris Metcalf
cmetcalf@tilera.com
Wed Feb 16 21:44:00 GMT 2011
On 2/16/2011 3:04 PM, H. Peter Anvin wrote:
> On 02/16/2011 11:22 AM, H.J. Lu wrote:
>> Hi,
>>
>> I updated x32 psABI draft to version 0.2 to change x32 library path
>> from lib32 to libx32 since lib32 is used for ia32 libraries on Debian,
>> Ubuntu and other derivative distributions. The new x32 psABI is
>> available from:
>>
>> https://sites.google.com/site/x32abi/home
> I'm wondering if we should define a section header flag (sh_flags)
> and/or an ELF header flag (e_flags) for x32 for the people unhappy about
> keying it to the ELF class...
For what it's worth, the Tilera 64-bit architecture (forthcoming) includes
support for a 32-bit compatibility layer that is similar to x32. It uses
64-bit registers throughout (e.g. for double and long long), but 32-bit
addresses. The addresses between 2GB and 4GB are not directly usable as
64-bit addresses since we sign-extend all 32-bit values to make the ISA
more straightforward. We use the "compat" layer to provide our syscall
table, since we don't have a traditional compatibility layer in this mode
(unlike x86_64 and i386).
We differentiate the 64-bit and 32-bit binaries just by the Elf class, a
proposed by H.J. above. This seems plausible given that it does capture
the differences correctly; everything else is the same, just the Elf
class. (And we use /lib vs /lib32 on the 64-bit platform to support the
32-bit shared libraries, etc.)
--
Chris Metcalf, Tilera Corp.
http://www.tilera.com
More information about the Gcc
mailing list