more RELOCATABLE + errata code model issues
Conor Dooley
conor.dooley at microchip.com
Mon Sep 18 03:36:03 PDT 2023
Hey Alex,
LKP reported [1] some issues with relocatable kernels & code models.
You didn't touch the commit that caused the issues, so you didn't see
the failure report I guess, but Prabhakar is looking for some guidance
on what he should do to resolve the problems. Copy-pasting from his
mail:
> > All errors (new ones prefixed by >>):
> >
> > >> ld.lld: error: relocation R_RISCV_LO12_I cannot be used against
> > >> symbol 'riscv_cbom_block_size'; recompile with -fPIC
> > >>> defined in vmlinux.a(arch/riscv/mm/cacheflush.o)
> > >>> referenced by errata.c
> > >>> arch/riscv/errata/andes/errata.o:(andes_errata_patch_func) in archive vmlinux.a
> >
> I did reproduce this issue locally. The andes errata is not compiled as medany. The config is RELOCATABLE + MEDLOW. I can see the cacheflush.o is compiled with medany flag.
> I can fix the build by adding a medany flag as below:
> +#ifdef CONFIG_RISCV_ALTERNATIVE_EARLY
> +CFLAGS_errata.o := -mcmodel=medany
> #endif
>
> But I am not sure if this is correct approach. Any pointers on this?
The T-Head errata have something similar, so seems like fair game to me.
Any thoughts?
Thanks,
Conor.
[1] - https://lore.kernel.org/all/202309111311.8tcq3KVc-lkp@intel.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20230918/95221b55/attachment.sig>
More information about the linux-riscv
mailing list