The .elf and .flat files are not runnable on the host operating system, so they should not be marked as executable. As we discovered recently, the executable flag can also cause trouble when the files are packaged in an .rpm file, since rpm "colors" the package differently if there are 32-bit or 64-bit executables in the package (for multilib support). Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> --- arm/Makefile.common | 2 ++ powerpc/Makefile.common | 2 ++ s390x/Makefile | 1 + x86/Makefile.common | 2 ++ 4 files changed, 7 insertions(+) diff --git a/arm/Makefile.common b/arm/Makefile.common index 1cf9cdc..e62a978 100644 --- a/arm/Makefile.common +++ b/arm/Makefile.common @@ -73,9 +73,11 @@ FLATLIBS = $(libcflat) $(LIBFDT_archive) $(libgcc) $(libeabi) -Wl,-T,$(SRCDIR)/arm/flat.lds,--build-id=none,-Ttext=$(start_addr) \ $(filter %.o, $^) $(FLATLIBS) \ $(SRCDIR)/lib/auxinfo.c -DPROGNAME=\"$(@:.elf=.flat)\" -DAUXFLAGS=$(AUXFLAGS) + chmod a-x $@ %.flat: %.elf $(OBJCOPY) -O binary $^ $@ + chmod a-x $@ $(libeabi): $(eabiobjs) $(AR) rcs $@ $^ diff --git a/powerpc/Makefile.common b/powerpc/Makefile.common index 81c5074..af6b9d8 100644 --- a/powerpc/Makefile.common +++ b/powerpc/Makefile.common @@ -54,6 +54,7 @@ FLATLIBS = $(libcflat) $(LIBFDT_archive) -T $(SRCDIR)/powerpc/flat.lds --build-id=none \ $(filter %.o, $^) $(FLATLIBS) $(@:.elf=.aux.o) $(RM) $(@:.elf=.aux.o) + chmod a-x $@ @echo -n Checking $@ for unsupported reloc types... @if $(OBJDUMP) -R $@ | grep R_ | grep -v R_PPC64_RELATIVE; then \ false; \ @@ -70,6 +71,7 @@ $(TEST_DIR)/boot_rom.bin: $(TEST_DIR)/boot_rom.elf $(TEST_DIR)/boot_rom.elf: CFLAGS = -mbig-endian $(TEST_DIR)/boot_rom.elf: $(TEST_DIR)/boot_rom.o $(LD) -EB -nostdlib -Ttext=0x100 --entry=start --build-id=none -o $@ $< + chmod a-x $@ powerpc_clean: libfdt_clean asm_offsets_clean $(RM) $(TEST_DIR)/*.{o,elf} $(TEST_DIR)/boot_rom.bin \ diff --git a/s390x/Makefile b/s390x/Makefile index 6546a02..6b32f2c 100644 --- a/s390x/Makefile +++ b/s390x/Makefile @@ -53,6 +53,7 @@ FLATLIBS = $(libcflat) $(CC) $(LDFLAGS) -o $@ -T $(SRCDIR)/s390x/flat.lds -Ttext=0x10000 \ $(filter %.o, $^) $(FLATLIBS) $(@:.elf=.aux.o) $(RM) $(@:.elf=.aux.o) + chmod a-x $@ arch_clean: asm_offsets_clean $(RM) $(TEST_DIR)/*.{o,elf} $(TEST_DIR)/.*.d lib/s390x/.*.d diff --git a/x86/Makefile.common b/x86/Makefile.common index 7dcf8c2..0d64284 100644 --- a/x86/Makefile.common +++ b/x86/Makefile.common @@ -42,9 +42,11 @@ FLATLIBS = lib/libcflat.a $(libgcc) %.elf: %.o $(FLATLIBS) $(SRCDIR)/x86/flat.lds $(cstart.o) $(CC) $(CFLAGS) -nostdlib -o $@ -Wl,-T,$(SRCDIR)/x86/flat.lds \ $(filter %.o, $^) $(FLATLIBS) + chmod a-x $@ %.flat: %.elf $(OBJCOPY) -O elf32-i386 $^ $@ + chmod a-x $@ tests-common = $(TEST_DIR)/vmexit.flat $(TEST_DIR)/tsc.flat \ $(TEST_DIR)/smptest.flat $(TEST_DIR)/port80.flat \ -- 1.8.3.1