Re: [PATCH -fixes] riscv: Fix relocatable kernels with early alternatives using -fno-pie

From: Alexandre Ghiti
Date: Fri May 26 2023 - 12:38:27 EST

On 26/05/2023 18:24, Conor Dooley wrote:
On Fri, May 26, 2023 at 05:46:30PM +0200, Alexandre Ghiti wrote:
Early alternatives are called with the mmu disabled, and then should not
access any global symbols through the GOT since it requires relocations,
relocations that we do before but *virtually*. So only use medany code
model for this early code.

Signed-off-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>

Note that I'm not very happy with this fix, I think we need to put more
effort into "harmonizing" this very early code (ie before the mmu is
enabled) as it is spread between different locations and compiled
Totally & I'll happily spend the time trying to review that work.

I'll work on that later, but for now, this fix does what is
needed to work (from my testing at least). Any Tested-by on the Unmatched
and T-head boards is welcome!
On 6.4-rc1 & v6.4-rc1 + this patch, with CONFIG_RELOCATABLE added to my
config, my Nezha fails to boot. There is no output whatsoever from the
kernel. Turning off CONFIG_RELOCATABLE boots again.

Damn, that's going to ruin my long week-end...Thanks though, I'll try to figure out what's going on, too bad I don't have any thead boards!

Thanks again,


I didn't test on my unmatched.


linux-riscv mailing list