Message ID | 20190423034959.13525-5-yamada.masahiro@socionext.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING | expand |
On Fri, May 17, 2019 at 8:01 AM Laura Abbott <labbott@redhat.com> wrote: > > On 4/22/19 8:49 PM, Masahiro Yamada wrote: > > This prepares to move CONFIG_OPTIMIZE_INLINING from x86 to a common > > place. We need to eliminate potential issues beforehand. > > > > If it is enabled for s390, the following error is reported: > > > > In file included from arch/s390/crypto/des_s390.c:19: > > ./arch/s390/include/asm/cpacf.h: In function 'cpacf_query': > > ./arch/s390/include/asm/cpacf.h:170:2: warning: asm operand 3 probably doesn't match constraints > > asm volatile( > > ^~~ > > ./arch/s390/include/asm/cpacf.h:170:2: error: impossible constraint in 'asm' > > > > This also seems to still be broken, again with gcc 9.1.1 > > BUILDSTDERR: In file included from arch/s390/crypto/prng.c:29: > BUILDSTDERR: ./arch/s390/include/asm/cpacf.h: In function 'cpacf_query_func': > BUILDSTDERR: ./arch/s390/include/asm/cpacf.h:170:2: warning: asm operand 3 probably doesn't match constraints > BUILDSTDERR: 170 | asm volatile( > BUILDSTDERR: | ^~~ > BUILDSTDERR: ./arch/s390/include/asm/cpacf.h:170:2: error: impossible constraint in 'asm' > > I realized we're still carrying a patch to add -fno-section-anchors > but it's a similar failure to powerpc. Christophe had already pointed out potential issues for "i" constraint, and I have fixups in hand: See https://lkml.org/lkml/2019/5/3/459 My plan was to send it after all of my base patches were merged. This s390 cparf.h is included in the TODO list. Will fix soon. Thanks.
diff --git a/arch/s390/include/asm/cpacf.h b/arch/s390/include/asm/cpacf.h index 3cc52e37b4b2..f316de40e51b 100644 --- a/arch/s390/include/asm/cpacf.h +++ b/arch/s390/include/asm/cpacf.h @@ -202,7 +202,7 @@ static inline int __cpacf_check_opcode(unsigned int opcode) } } -static inline int cpacf_query(unsigned int opcode, cpacf_mask_t *mask) +static __always_inline int cpacf_query(unsigned int opcode, cpacf_mask_t *mask) { if (__cpacf_check_opcode(opcode)) { __cpacf_query(opcode, mask);
This prepares to move CONFIG_OPTIMIZE_INLINING from x86 to a common place. We need to eliminate potential issues beforehand. If it is enabled for s390, the following error is reported: In file included from arch/s390/crypto/des_s390.c:19: ./arch/s390/include/asm/cpacf.h: In function 'cpacf_query': ./arch/s390/include/asm/cpacf.h:170:2: warning: asm operand 3 probably doesn't match constraints asm volatile( ^~~ ./arch/s390/include/asm/cpacf.h:170:2: error: impossible constraint in 'asm' Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- Changes in v3: None Changes in v2: - split into a separate patch arch/s390/include/asm/cpacf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)