linux/arch/s390
Philipp Rudo 287d6070ac s390/purgatory: Remove duplicate variable definitions
Currently there are some variables in the purgatory (e.g. kernel_entry)
which are defined twice, once in assembler- and once in c-code. The reason
for this is that these variables are set during purgatory load, where
sanity checks on the corresponding Elf_Sym's are made, while they are used
in assembler-code. Thus adding a second definition in c-code is a handy
workaround to guarantee correct Elf_Sym's are created.

When the purgatory is compiled with -fcommon (default for gcc on s390) this
is no problem because both symbols are merged by the linker. However this
is not required by ISO C and when the purgatory is built with -fno-common
the linker fails with errors like

arch/s390/purgatory/purgatory.o:(.bss+0x18): multiple definition of `kernel_entry'
arch/s390/purgatory/head.o:/.../arch/s390/purgatory/head.S:230: first defined here

Thus remove the duplicate definitions and add the required size and type
information to the assembler definition. Also add -fno-common to the
command line options to prevent similar hacks in the future.

Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2018-07-06 08:47:51 +02:00
..
appldata s390: fix gcc 8 stringop-truncation warnings in proc handlers 2018-07-02 11:24:53 +02:00
boot s390/decompressor: avoid packing *.o.chkbss files into startup.a 2018-07-02 12:32:22 +02:00
configs s390: update defconfigs 2018-04-27 06:51:31 +02:00
crypto s390/archrandom: Rework arch random implementation. 2018-05-30 11:18:04 +02:00
hypfs s390: hypfs: use ktime_get_seconds() instead of get_seconds() 2018-06-25 10:14:41 +02:00
include s390/purgatory: Remove duplicate variable definitions 2018-07-06 08:47:51 +02:00
kernel s390/sysinfo: add missing #ifdef CONFIG_PROC_FS 2018-07-02 12:32:20 +02:00
kvm - Error path bug fix for overflow tests (Dan) 2018-06-12 18:28:00 -07:00
lib s390: introduce compile time check for empty .bss section 2018-05-09 10:55:01 +02:00
mm s390/extmem: fix gcc 8 stringop-overflow warning 2018-07-02 11:24:50 +02:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
numa s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci s390/pci: add fmt3 fmb 2018-07-04 08:35:58 +02:00
purgatory s390/purgatory: Remove duplicate variable definitions 2018-07-06 08:47:51 +02:00
scripts s390/build: add *.o.chkbss files to targets list 2018-07-02 12:32:23 +02:00
tools s390/tools: fix gcc 8 stringop-truncation warnings 2018-07-02 11:25:05 +02:00
defconfig s390: update defconfig 2018-04-16 10:29:34 +02:00
Kbuild s390/kexec_file: Add purgatory 2018-04-16 09:10:22 +02:00
Kconfig s390/decompressor: support uncompressed kernel 2018-06-25 10:14:40 +02:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile s390/decompressor: support extra debug flags 2018-07-02 12:32:24 +02:00