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 |
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?
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.
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 --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; \ })
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(-)