On Mon, Oct 24, 2016 at 01:58:53PM +0300, riku.voipio@xxxxxxxxxx wrote: > From: Riku Voipio <riku.voipio@xxxxxxxxxx> > > Latest Debian and Ubuntu GCC default to PIE code. Disable > PIE for bios and pre_init. Since the flag -no-pie is not > available on older GCC's, make use of flag only if the > option is available. > > Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> > --- > see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837545 > --- > Makefile | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/Makefile b/Makefile > index 1f0196f..0d8b66d 100644 > --- a/Makefile > +++ b/Makefile > @@ -284,7 +284,7 @@ ifeq ($(call try-build,$(SOURCE_STATIC),$(CFLAGS),$(LDFLAGS) -static),y) > GUEST_INIT := guest/init > GUEST_OBJS = guest/guest_init.o > ifeq ($(ARCH_PRE_INIT),) > - GUEST_INIT_FLAGS += -static > + GUEST_INIT_FLAGS += -static $(PIE_FLAGS) > else > CFLAGS += -DCONFIG_GUEST_PRE_INIT > GUEST_INIT_FLAGS += -DCONFIG_GUEST_PRE_INIT > @@ -307,6 +307,10 @@ ifeq (y,$(ARCH_WANT_LIBFDT)) > endif > endif > > +ifeq ($(call try-build,$(SOURCE_HELLO),$(CFLAGS),-no-pie),y) > + PIE_FLAGS += -no-pie > +endif > + > ifneq ($(NOTFOUND),) > $(warning Skipping optional libraries: $(NOTFOUND)) > endif > @@ -388,7 +392,7 @@ $(PROGRAM_ALIAS): $(PROGRAM) > ifneq ($(ARCH_PRE_INIT),) > $(GUEST_PRE_INIT): $(ARCH_PRE_INIT) > $(E) " LINK " $@ > - $(Q) $(CC) -s -nostdlib $(ARCH_PRE_INIT) -o $@ > + $(Q) $(CC) -s $(PIE_FLAGS) -nostdlib $(ARCH_PRE_INIT) -o $@ > $(Q) $(LD) -r -b binary -o guest/guest_pre_init.o $(GUEST_PRE_INIT) > endif > > @@ -435,6 +439,8 @@ BIOS_CFLAGS += -march=i386 > BIOS_CFLAGS += -mregparm=3 > > BIOS_CFLAGS += -fno-stack-protector > +BIOS_CFLAGS += $(PIE-FLAGS) Shouldn't that be an underscore? Did you test this? Will -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html