On Fri, Dec 31, 2010 at 6:50 AM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Thu, Dec 30, 2010 at 4:48 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >> On Thu, Dec 30, 2010 at 4:42 PM, H. Peter Anvin <h...@zytor.com> wrote: >>> On 12/30/2010 01:08 PM, Robert Millan wrote: >>>> Hi folks, >>>> >>>> I had this unsubmitted patch in my local filesystem. It makes Linux >>>> detect ELF32 AMD64 binaries and sets a flag to restrict them to >>>> 32-bit address space. >>>> >>>> It's not rocket science but can save you some work in case you >>>> haven't implemented this already. >>>> >>> >>> I have pushed my old kernel patches to a git tree at: >>> >>> git://git.kernel.org//pub/scm/linux/kernel/git/hpa/linux-2.6-ilp32.git >>> >>> They are currently based on 2.6.31 since that was the released version >>> when I first did this work; they are not intended to be mergeble but >>> rather as a prototype. >>> >>> Note that we have no intention of supporting this ABI for the kernel >>> itself. The kernel will be a normal x86-64 kernel. >>> >> >> Here is the updated ILP32 patch for 2.6.35. >> >> > > I put my ILP32 gdb on hjl/ilp32 branch at > > http://git.kernel.org/?p=devel/gdb/hjl/x86.git;a=summary > > and my gcc 4.4 ILP32 on hjl/ilp32/gcc-4_4-branch branch at > > http://git.kernel.org/?p=devel/gcc/hjl/x86.git;a=summary >
I checked a bunch ILP32 bug fixes into binutils, gdb and gcc. I also renamed the option from n32 to x32. Binutils and gdb should work correctly now. I tested them on a simple C library with static and dynamic binaries. Gcc only works with -O0. -- H.J.