Re: build error while building arch/x86/purgatory/sha256.o: invalid 'asm': operand is not a condition code [...]

From: Joan Bruguera Micó
Date: Sun May 28 2023 - 12:40:42 EST


I can also reproduce the problem with Arch's linux-next-git, see config:
https://aur.archlinux.org/cgit/aur.git/tree/config?h=linux-next-git&id=f9a384e1c582321651fb613782ebc5a581146af0

I've bisected it to df8fc4e934c1 ("kbuild: Enable -fstrict-flex-arrays=3"),
which explains why it only happens on GCC13.

The problematic expansion that causes the error seems to be this fragment
from `_BUG_FLAGS` in `arch/x86/include/asm/bug.h`:
asm(".long %c0 - .\n": : "i" (__FILE__));

Along with the fact that this file is built with `-mcmodel=large`
(see `PURGATORY_CFLAGS` in `arch/x86/purgatory/Makefile`).

Regards,
- Joan