diff mbox series

arm64: Drop workaround for broken 'S' constraint with GCC 4.9

Message ID 20210118130129.2875949-1-maz@kernel.org (mailing list archive)
State New, archived
Headers show
Series arm64: Drop workaround for broken 'S' constraint with GCC 4.9 | expand

Commit Message

Marc Zyngier Jan. 18, 2021, 1:01 p.m. UTC
Since GCC < 5.1 has been shown to be unsuitable for the arm64 kernel,
let's drop the workaround for the 'S' asm constraint that GCC 4.9
doesn't always grok.

This is effectively a revert of 9fd339a45be5 ("arm64: Work around
broken GCC 4.9 handling of "S" constraint").

Signed-off-by: Marc Zyngier <maz@kernel.org>
---
 arch/arm64/include/asm/kvm_asm.h | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

Comments

Catalin Marinas Jan. 18, 2021, 4:26 p.m. UTC | #1
On Mon, Jan 18, 2021 at 01:01:29PM +0000, Marc Zyngier wrote:
> Since GCC < 5.1 has been shown to be unsuitable for the arm64 kernel,
> let's drop the workaround for the 'S' asm constraint that GCC 4.9
> doesn't always grok.
> 
> This is effectively a revert of 9fd339a45be5 ("arm64: Work around
> broken GCC 4.9 handling of "S" constraint").
> 
> Signed-off-by: Marc Zyngier <maz@kernel.org>

It looks like I merged this fix in -rc1. Do you want me to merge the
revert as well or you'll handle it?
Marc Zyngier Jan. 18, 2021, 4:28 p.m. UTC | #2
On 2021-01-18 16:26, Catalin Marinas wrote:
> On Mon, Jan 18, 2021 at 01:01:29PM +0000, Marc Zyngier wrote:
>> Since GCC < 5.1 has been shown to be unsuitable for the arm64 kernel,
>> let's drop the workaround for the 'S' asm constraint that GCC 4.9
>> doesn't always grok.
>> 
>> This is effectively a revert of 9fd339a45be5 ("arm64: Work around
>> broken GCC 4.9 handling of "S" constraint").
>> 
>> Signed-off-by: Marc Zyngier <maz@kernel.org>
> 
> It looks like I merged this fix in -rc1. Do you want me to merge the
> revert as well or you'll handle it?

It'd make sense if it went via the arm64 tree as well.

Thanks,

         M.
Will Deacon Jan. 20, 2021, 1:01 p.m. UTC | #3
On Mon, 18 Jan 2021 13:01:29 +0000, Marc Zyngier wrote:
> Since GCC < 5.1 has been shown to be unsuitable for the arm64 kernel,
> let's drop the workaround for the 'S' asm constraint that GCC 4.9
> doesn't always grok.
> 
> This is effectively a revert of 9fd339a45be5 ("arm64: Work around
> broken GCC 4.9 handling of "S" constraint").

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: Drop workaround for broken 'S' constraint with GCC 4.9
      https://git.kernel.org/arm64/c/7001d4af926b

Cheers,
diff mbox series

Patch

diff --git a/arch/arm64/include/asm/kvm_asm.h b/arch/arm64/include/asm/kvm_asm.h
index 8a33d83ea843..7ccf770c53d9 100644
--- a/arch/arm64/include/asm/kvm_asm.h
+++ b/arch/arm64/include/asm/kvm_asm.h
@@ -199,12 +199,6 @@  extern void __vgic_v3_init_lrs(void);
 
 extern u32 __kvm_get_mdcr_el2(void);
 
-#if defined(GCC_VERSION) && GCC_VERSION < 50000
-#define SYM_CONSTRAINT	"i"
-#else
-#define SYM_CONSTRAINT	"S"
-#endif
-
 /*
  * Obtain the PC-relative address of a kernel symbol
  * s: symbol
@@ -221,7 +215,7 @@  extern u32 __kvm_get_mdcr_el2(void);
 		typeof(s) *addr;					\
 		asm("adrp	%0, %1\n"				\
 		    "add	%0, %0, :lo12:%1\n"			\
-		    : "=r" (addr) : SYM_CONSTRAINT (&s));		\
+		    : "=r" (addr) : "S" (&s));				\
 		addr;							\
 	})