Linker Support 

pie support is already in binutils 2.15
ld scripts adjusted to include i386 W^X 512mb gap
cc -pie prog.o foo.o ... -o prog
What's different?
objdump comparison: non-pie vs pie
File flags s/EXEC_P/DYNAMIC/
Link address now 0x0


prog:     file format elf32-i386
prog
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x1c000498

Program Header:
    PHDR vaddr 0x1c000034
  INTERP vaddr 0x1c000194
    LOAD vaddr 0x1c000000
...

prog:     file format elf32-i386
prog
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00000698

Program Header:
    PHDR vaddr 0x00000034
  INTERP vaddr 0x00000194
    LOAD vaddr 0x00000000
...