All of lore.kernel.org
 help / color / mirror / Atom feed
* s390 defconfig fails to build after 4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc
@ 2022-03-28 18:34 Nathan Chancellor
  2022-03-28 21:44 ` Vasily Gorbik
  0 siblings, 1 reply; 3+ messages in thread
From: Nathan Chancellor @ 2022-03-28 18:34 UTC (permalink / raw)
  To: Heiko Carstens, Vasily Gorbik, Alexander Gordeev
  Cc: linux-s390, linux-next, llvm

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'

Bisect converged on commit 4afeb670710e ("s390/alternatives: use
instructions instead of byte patterns"):

# bad: [7dcfe50f58d28e0e2ba79e9e4333888bcf9442a4] s390/pci: rename get_zdev_by_bus() to zdev_from_bus()
# good: [895ae58da4a2360d9c2d255cd9fc8de64e265022] s390/zcrypt: Add admask to zcdn
git bisect start '7dcfe50f58d2' '895ae58da4a2'
# bad: [09bc20c8fb35cf1afed1612b287e9ddbe6a7d73c] s390/kprobes: enable kretprobes framepointer verification
git bisect bad 09bc20c8fb35cf1afed1612b287e9ddbe6a7d73c
# good: [f09354ffd84eef3c88efa8ba6df05efe50cfd16a] s390/traps: improve panic message for translation-specification exception
git bisect good f09354ffd84eef3c88efa8ba6df05efe50cfd16a
# bad: [2d6c0008be64bd813008d2a796108e89edec1030] s390/ap: use insn format for new instructions
git bisect bad 2d6c0008be64bd813008d2a796108e89edec1030
# bad: [6982dba181deba54c5ccb301aaed6f6ec14c6310] s390/alternatives: use insn format for new instructions
git bisect bad 6982dba181deba54c5ccb301aaed6f6ec14c6310
# bad: [4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc] s390/alternatives: use instructions instead of byte patterns
git bisect bad 4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc
# first bad commit: [4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc] s390/alternatives: use instructions instead of byte patterns

I can reproduce with TuxMake's [1] gcc-8, gcc-9, and gcc-10 containers,
but not the gcc-11 one. The version information of GCC and binutils of
each container is provided below in case it helps with reproducing.
Given this is out of line assembly, I am sure the compiler has little to
do with it, but as the compiler is the driver for .S files, I included
it to be thorough.

s390x-linux-gnu-gcc (Debian 8.3.0-2) 8.3.0
GNU assembler (GNU Binutils for Debian) 2.31.1

s390x-linux-gnu-gcc (Debian 9.3.0-22) 9.3.0
GNU assembler (GNU Binutils for Debian) 2.35.2

s390x-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
GNU assembler (GNU Binutils for Debian) 2.35.2

s390x-linux-gnu-gcc (Debian 11.2.0-18) 11.2.0
GNU assembler (GNU Binutils for Debian) 2.38

[1]: https://tuxmake.org/

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: s390 defconfig fails to build after 4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc
  2022-03-28 18:34 s390 defconfig fails to build after 4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc Nathan Chancellor
@ 2022-03-28 21:44 ` Vasily Gorbik
  2022-03-28 21:52   ` Nathan Chancellor
  0 siblings, 1 reply; 3+ messages in thread
From: Vasily Gorbik @ 2022-03-28 21:44 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Heiko Carstens, Alexander Gordeev, linux-s390, linux-next, llvm

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: s390 defconfig fails to build after 4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc
  2022-03-28 21:44 ` Vasily Gorbik
@ 2022-03-28 21:52   ` Nathan Chancellor
  0 siblings, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2022-03-28 21:52 UTC (permalink / raw)
  To: Vasily Gorbik
  Cc: Heiko Carstens, Alexander Gordeev, linux-s390, linux-next, llvm

On Mon, Mar 28, 2022 at 11:44:26PM +0200, Vasily Gorbik wrote:
> 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

Awesome, thank you a lot for the quick fix!

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-03-28 21:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-28 18:34 s390 defconfig fails to build after 4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc Nathan Chancellor
2022-03-28 21:44 ` Vasily Gorbik
2022-03-28 21:52   ` Nathan Chancellor

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.