Re: Build regressions/improvements in v6.4-rc7

From: Geert Uytterhoeven
Date: Mon Jun 19 2023 - 05:10:47 EST


On Mon, 19 Jun 2023, Geert Uytterhoeven wrote:
JFYI, when comparing v6.4-rc7[1] to v6.4-rc6[3], the summaries are:
- build errors: +1/-5

+ {standard input}: Error: branch to a symbol in another ISA mode: 5023, 5028 => 5017, 5023, 5028, 5012

mips-gcc1[12]/micro32r2{,el}_defconfig

Not exactly a new problem, but we got two new of these while compiling
arch/mips/kernel/smp-cps.o, due to the addition of two gcc12 builds.

I could reproduce this with micro32r2_defconfig on next-20230691 using
gcc-12.3.0 from kernel.org crosstool.

In arch/mips/kernel/smp-cps.c:

static void cps_init_secondary(void)
{
int core = cpu_core(&current_cpu_data);

/* Disable MT - we only want to run 1 TC per VPE */
if (cpu_has_mipsmt)
dmt();

...
}

"make arch/mips/kernel/smp-cps.s" shows cps_init_secondary() is compiled
with the following ISA settings:

.set nomips16
.set micromips

while arch/mips/include/asm/mipsmtregs.h has:

static inline unsigned int dmt(void)
{
int res;

__asm__ __volatile__(
" .set push \n"
" .set mips32r2 \n"
" .set noat \n"
" .word 0x41610BC1 # dmt $1 \n"
" ehb \n"
" move %0, $1 \n"
" .set pop \n"
: "=r" (res));

instruction_hazard();

return res;
}

[1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
[3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/858fd168a95c5b9669aac8db6c14a9aeab446375/ (151 out of 160 configs)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds