summaryrefslogtreecommitdiffstats
path: root/arch/s390/boot
diff options
context:
space:
mode:
authorPhilipp Rudo <prudo@linux.ibm.com>2020-11-25 19:08:23 +0100
committerHeiko Carstens <hca@linux.ibm.com>2020-12-09 21:02:07 +0100
commit7a84ffc0471f0ff59f9ae10807a77bd666e24fd0 (patch)
treef2ed14edee4c53b531ccb3fd22461798265b19d2 /arch/s390/boot
parent613775d62ec60202f98d2c5f520e6e9ba6dd4ac4 (diff)
downloadlinux-stable-7a84ffc0471f0ff59f9ae10807a77bd666e24fd0.tar.gz
linux-stable-7a84ffc0471f0ff59f9ae10807a77bd666e24fd0.tar.bz2
linux-stable-7a84ffc0471f0ff59f9ae10807a77bd666e24fd0.zip
s390/boot: add build-id to decompressor
More and more functionality from the early boot phase gets carried over to the decompressor. With this the complexity of the code and thus the chance to introduce bugs increases. In order to be able to debug these early boot bugs the distributions have to package the decompressors vmlinux together with the other debuginfos. However for that the distributions require the vmlinux to contain a build-id. Per default the section containing the build-id is placed first in the section table. So make sure to move it behind the .text section otherwise the image would be unbootable. Signed-off-by: Philipp Rudo <prudo@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/boot')
-rw-r--r--arch/s390/boot/compressed/Makefile2
-rw-r--r--arch/s390/boot/compressed/vmlinux.lds.S1
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/boot/compressed/Makefile b/arch/s390/boot/compressed/Makefile
index e0502222706a..de18dab518bb 100644
--- a/arch/s390/boot/compressed/Makefile
+++ b/arch/s390/boot/compressed/Makefile
@@ -23,7 +23,7 @@ OBJCOPYFLAGS :=
OBJECTS := $(addprefix $(obj)/,$(obj-y))
OBJECTS_ALL := $(addprefix $(obj)/,$(obj-all))
-LDFLAGS_vmlinux := --oformat $(LD_BFD) -e startup -T
+LDFLAGS_vmlinux := --oformat $(LD_BFD) -e startup --build-id=sha1 -T
$(obj)/vmlinux: $(obj)/vmlinux.lds $(objtree)/arch/s390/boot/startup.a $(OBJECTS_ALL) FORCE
$(call if_changed,ld)
diff --git a/arch/s390/boot/compressed/vmlinux.lds.S b/arch/s390/boot/compressed/vmlinux.lds.S
index 152ac6f875c0..27a09c1c78f6 100644
--- a/arch/s390/boot/compressed/vmlinux.lds.S
+++ b/arch/s390/boot/compressed/vmlinux.lds.S
@@ -27,6 +27,7 @@ SECTIONS
*(.rodata.*)
_erodata = . ;
}
+ NOTES
.data : {
_data = . ;
*(.data)