Browse Source

arm64: localise Image objcopy flags

We currently define OBJCOPYFLAGS in the top-level arm64 Makefile, and
thus these flags will be passed to all uses of objcopy, kernel-wide, for
which they are not explicitly overridden. The flags we set are intended
for converting vmlinux (and ELF) into Image (a raw binary), and thus the
flags chosen are problematic for some other uses which do not expect a
raw binary result, e.g. the upcoming lkdtm rodata test:

  http://www.openwall.com/lists/kernel-hardening/2016/06/08/2

This patch localises the objcopy flags such that they are only used for
the vmlinux -> Image conversion.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Kees Cook <keescook@chromium.org>
Tested-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Mark Rutland 9 years ago
parent
commit
f8fa70f392
2 changed files with 2 additions and 1 deletions
  1. 0 1
      arch/arm64/Makefile
  2. 2 0
      arch/arm64/boot/Makefile

+ 0 - 1
arch/arm64/Makefile

@@ -12,7 +12,6 @@
 
 
 LDFLAGS_vmlinux	:=-p --no-undefined -X
 LDFLAGS_vmlinux	:=-p --no-undefined -X
 CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET)
 CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET)
-OBJCOPYFLAGS	:=-O binary -R .note -R .note.gnu.build-id -R .comment -S
 GZFLAGS		:=-9
 GZFLAGS		:=-9
 
 
 ifneq ($(CONFIG_RELOCATABLE),)
 ifneq ($(CONFIG_RELOCATABLE),)

+ 2 - 0
arch/arm64/boot/Makefile

@@ -14,6 +14,8 @@
 # Based on the ia64 boot/Makefile.
 # Based on the ia64 boot/Makefile.
 #
 #
 
 
+OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
+
 targets := Image Image.gz
 targets := Image Image.gz
 
 
 $(obj)/Image: vmlinux FORCE
 $(obj)/Image: vmlinux FORCE