2019-06-09 20:37:31

by Guenter Roeck

[permalink] [raw]
Subject: [PATCH] s390: mark __ctl_set_bit and __ctl_clear_bit as __always_inline

s390:tinyconfig fails to build with gcc 8.3.0.

arch/s390/include/asm/ctl_reg.h:52:2: error: impossible constraint in 'asm'
asm volatile( \
^~~
arch/s390/include/asm/ctl_reg.h:62:2: note: in expansion of macro '__ctl_store'
__ctl_store(reg, cr, cr);
^~~~~~~~~~~
s390/include/asm/ctl_reg.h:41:2: error: impossible constraint in 'asm'
asm volatile( \
^~~
arch/s390/include/asm/ctl_reg.h:64:2:
note: in expansion of macro '__ctl_load'
__ctl_load(reg, cr, cr);
^~~~~~~~~~

Marking __ctl_set_bit and __ctl_clear_bit as __always_inline fixes the
problem.

Fixes: 9012d011660e ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING")
Signed-off-by: Guenter Roeck <[email protected]>
---
arch/s390/include/asm/ctl_reg.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/s390/include/asm/ctl_reg.h b/arch/s390/include/asm/ctl_reg.h
index 4600453536c2..3bda757317cf 100644
--- a/arch/s390/include/asm/ctl_reg.h
+++ b/arch/s390/include/asm/ctl_reg.h
@@ -55,7 +55,7 @@
: "i" (low), "i" (high)); \
} while (0)

-static inline void __ctl_set_bit(unsigned int cr, unsigned int bit)
+static __always_inline void __ctl_set_bit(unsigned int cr, unsigned int bit)
{
unsigned long reg;

@@ -64,7 +64,7 @@ static inline void __ctl_set_bit(unsigned int cr, unsigned int bit)
__ctl_load(reg, cr, cr);
}

-static inline void __ctl_clear_bit(unsigned int cr, unsigned int bit)
+static __always_inline void __ctl_clear_bit(unsigned int cr, unsigned int bit)
{
unsigned long reg;

--
2.7.4


2019-06-10 16:37:04

by Heiko Carstens

[permalink] [raw]
Subject: Re: [PATCH] s390: mark __ctl_set_bit and __ctl_clear_bit as __always_inline

On Sun, Jun 09, 2019 at 01:35:44PM -0700, Guenter Roeck wrote:
> s390:tinyconfig fails to build with gcc 8.3.0.
...
> Marking __ctl_set_bit and __ctl_clear_bit as __always_inline fixes the
> problem.
>
> Fixes: 9012d011660e ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING")
> Signed-off-by: Guenter Roeck <[email protected]>
> ---
> arch/s390/include/asm/ctl_reg.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

Applied, thanks!