Subject: Re: s390 defconfig fails to build after 4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc

From: Vasily Gorbik <[email-masked]>
Date: Mon, 28 Mar 2022 23:44:26 +0200

On Mon, Mar 28, 2022 at 11:34:21AM -0700, Nathan Chancellor wrote:
> Hi all,
> 
> Apologies if this has been reported or fixed already, I did not see a
> report when searching lore.kernel.org and it is reproducible as of
> commit 7dcfe50f58d2 ("s390/pci: rename get_zdev_by_bus() to
> zdev_from_bus()") in s390/linux.git.
> 
> Our continuous integration noticed a build failure on next-20220328 in
> arch/s390/kernel/entry.S, which does not appear to be compiler specific,
> as I can reproduce this with GCC easily:
> 
> https://builds.tuxbuild.com/2716QwFVG9408TJ43vkEc7trVCI/build.log
> 
> $ make -skj"$(nproc)" ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- defconfig arch/s390/kernel/entry.o
> arch/s390/kernel/entry.S: Assembler messages:
> arch/s390/kernel/entry.S:335: Error: Unrecognized opcode: `jgnop'
> arch/s390/kernel/entry.S:493: Error: Unrecognized opcode: `jgnop'
> arch/s390/kernel/entry.S:494: Error: Unrecognized opcode: `jgnop'

Thank you for reporting this!

jgnop mnemonic has been introduced with binutils commit
b10b530a4566 ("IBM Z: Add support for HLASM extended mnemonics")

and is part of binutils-2_36 and newer.

I fixed it by using old "brcl 0,0" alternative here:
https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git/commit/?h=features&id=faf79934e65aff90284725518a5ec3c2241c65ae