On Thu, Dec 30, 2010 at 11:40 AM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Thu, Dec 30, 2010 at 11:30 AM, Joseph S. Myers > <jos...@codesourcery.com> wrote: >> On Thu, 30 Dec 2010, H.J. Lu wrote: >> >>> On Thu, Dec 30, 2010 at 10:42 AM, Joseph S. Myers >>> <jos...@codesourcery.com> wrote: >>> > On Thu, 30 Dec 2010, H.J. Lu wrote: >>> > >>> >> Hi, >>> >> >>> >> This patch adds 32bit x86-64 support to binutils. Support in compiler, >>> >> library and OS is required to use it. It can be used to implement the >>> >> new 32bit OS for x86-64. Any comments? >>> > >>> > Do you have a public psABI document? I think the psABI at the ELF level >>> > needs to come before the binutils bits, at the function call level needs >>> > to come before the GCC bits, etc. >>> >>> The psABI is the same as x86-64 psABI, except for 32bit ELF instead of >>> 64bit. >> >> I don't think that's an adequate description. If the "ILP32" name is >> accurate then it's certainly wrong at the C level since some type sizes >> are different, with effects in turn on such things as the description of >> initial stack layout storing argv. At the ELF level are you saying that >> each relocation applies to a relocatable field of the same width as for >> 64-bit (but with the width of the addend being restricted, of course)? Do >> any relocations applying to word64 fields need 32-bit variants applying to >> word32 for the ILP32 ABI? > > ILP32 uses small model in x86-64 psABI. >
Here is the ILP32 psABI: http://www.kernel.org/pub/linux/devel/binutils/ilp32/ -- H.J.