64 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From b0b46a5b622fdbe69207675c5d50b77cb8ae43b7 Mon Sep 17 00:00:00 2001
 | 
						|
From: Heiko Carstens <heiko.carstens@de.ibm.com>
 | 
						|
Date: Tue, 5 Feb 2019 13:43:49 +0100
 | 
						|
Subject: [PATCH] s390/jump_label: Correct asm contraint
 | 
						|
 | 
						|
On Tue, Jan 29, 2019 at 08:25:58AM +0100, Laura Abbott wrote:
 | 
						|
> On 1/23/19 5:24 AM, Heiko Carstens wrote:
 | 
						|
> >On Wed, Jan 23, 2019 at 01:55:13PM +0100, Laura Abbott wrote:
 | 
						|
> >>There's a build failure with gcc9:
 | 
						|
> >>
 | 
						|
> >>  ./arch/s390/include/asm/jump_label.h: Assembler messages:
 | 
						|
> >>  ./arch/s390/include/asm/jump_label.h:23: Error: bad expression
 | 
						|
> >>  ./arch/s390/include/asm/jump_label.h:23: Error: junk at end of line, first unrecognized character is `r'
 | 
						|
> >>  make[1]: *** [scripts/Makefile.build:277: init/main.o] Error 1
 | 
						|
...
 | 
						|
> I've had to turn off s390 in Fedora until this gets fixed :(
 | 
						|
 | 
						|
Laura, the patch below should fix this (temporarily). If possible,
 | 
						|
could you give it a try? It seems to work for me.
 | 
						|
 | 
						|
rom 4067027c2ccc8d3f1dc3bb19fe2d00da0c65bcd8 Mon Sep 17 00:00:00 2001
 | 
						|
From: Heiko Carstens <heiko.carstens@de.ibm.com>
 | 
						|
Date: Tue, 5 Feb 2019 13:21:56 +0100
 | 
						|
Subject: [PATCH] s390: disable section anchors
 | 
						|
 | 
						|
Disable section anchors to allow to compile with the current gcc 9
 | 
						|
experimental version. The section anchors is a new feature for s390
 | 
						|
with gcc 9, however it breaks our current usage of the 'X' constraint
 | 
						|
within the asm goto construct within our jump label implementation.
 | 
						|
 | 
						|
Fixing this seems to be non-trivial, therefore (hopefully) temporarily
 | 
						|
disable section anchors. We will hopefully have a better solution
 | 
						|
before gcc 9 is released, so that this can be removed again.
 | 
						|
 | 
						|
Reported-by: Laura Abbott <labbott@redhat.com>
 | 
						|
Suggested-by: Ilya Leoshkevich <iii@linux.ibm.com>
 | 
						|
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
 | 
						|
---
 | 
						|
 arch/s390/Makefile | 8 ++++++++
 | 
						|
 1 file changed, 8 insertions(+)
 | 
						|
 | 
						|
diff --git a/arch/s390/Makefile b/arch/s390/Makefile
 | 
						|
index e21053e5e0da..1eac75bc3a29 100644
 | 
						|
--- a/arch/s390/Makefile
 | 
						|
+++ b/arch/s390/Makefile
 | 
						|
@@ -62,6 +62,14 @@ cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include
 | 
						|
 #
 | 
						|
 cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
 | 
						|
 
 | 
						|
+#
 | 
						|
+# Disable section anchors. This gcc 9 feature currently breaks the 'X'
 | 
						|
+# constraint like it is used in the asm goto construct.
 | 
						|
+#
 | 
						|
+ifeq ($(call cc-option-yn,-fno-section-anchors),y)
 | 
						|
+cflags-y += -fno-section-anchors
 | 
						|
+endif
 | 
						|
+
 | 
						|
 ifeq ($(call cc-option-yn,-mpacked-stack),y)
 | 
						|
 cflags-$(CONFIG_PACK_STACK)  += -mpacked-stack -D__PACK_STACK
 | 
						|
 aflags-$(CONFIG_PACK_STACK)  += -D__PACK_STACK
 | 
						|
-- 
 | 
						|
2.20.1
 | 
						|
 |