Change -fPIC to -fPIE
authorH. Peter Anvin <hpa@zytor.com>
Thu, 8 May 2008 21:15:30 +0000 (14:15 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 8 May 2008 21:15:30 +0000 (14:15 -0700)
What we really want is -fPIE, since we link everything into a single
binary.  From the gcc changelog:

    Also, it adds -fpie/-fPIE options which are similar to
    -fpic/-fPIC, with the difference that the GCC can assume the
    created position independent code will be always linked into an
    executable (whether position independent or not). ATM the
    difference is in binds_local - like in non-fpic code GCC can
    assume any non-common object defined in the same module, even if
    not static, will be in the same binary (which means GOT relative
    accesses to such variables, ability to inline non-static functions
    at -O3, etc.).

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
MCONFIG.in

index adc60d4..27c51a6 100644 (file)
@@ -34,5 +34,5 @@ CC_FOR_TARGET         = gcc -m32
 LD_FOR_TARGET          = ld -m elf_i386
 OBJCOPY_FOR_TARGET     = objcopy
 CFLAGS_FOR_TARGET      = -W -Wall -I. -g -Os -march=i386 -mregparm=3 \
-                         -fPIC -ffreestanding
+                         -fPIE -ffreestanding
 LDFLAGS_FOR_TARGET     =