Messages in this thread | | | Date | Tue, 9 May 2023 22:37:56 +0800 | From | Jisheng Zhang <> | Subject | Re: [PATCH] riscv: enable BUILDTIME_TABLE_SORT for !MMU |
| |
On Tue, Apr 11, 2023 at 10:37:36AM +0100, Conor Dooley wrote: > Hey Jisheng, > > On Mon, Apr 10, 2023 at 12:43:06AM +0800, Jisheng Zhang wrote: > > BUILDTIME_TABLE_SORT works for !MMU as well, so enable it. > > > > Tested on QEMU and FPGA. > > > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > > Fails to build for nommu_k210_defconfig: > > make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- O=build -sk -j30 > no __ex_table in file: vmlinux
This failure log makes me carefully go through the ex_table mechanism again. Now I knew where's the failure from and what should be done: Because FUTEX is disabled in nommu_k210_defconfig. However, there's a deeply hidden issue here: there should be no __ex_table section usage at all in NOMMU case, becaue __ex_table usage relies on MMU to do the *fixup*, so I need to patch the risc extable part instead.
Thanks
> Failed to sort kernel tables > make[2]: *** [../scripts/Makefile.vmlinux:35: vmlinux] Error 1 > make[2]: *** Deleting file 'vmlinux' > make[2]: Target '__default' not remade because of errors. > make[1]: *** [/home/conor/stuff/linux/Makefile:1250: vmlinux] Error 2 > make[1]: Target '__all' not remade because of errors. > make: *** [Makefile:226: __sub-make] Error 2 > make: Target '__all' not remade because of errors. > > :( > > > --- > > arch/riscv/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > > index c5e42cc37604..212ea28e346b 100644 > > --- a/arch/riscv/Kconfig > > +++ b/arch/riscv/Kconfig > > @@ -50,7 +50,7 @@ config RISCV > > select ARCH_WANT_LD_ORPHAN_WARN if !XIP_KERNEL > > select ARCH_WANTS_THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE > > select BINFMT_FLAT_NO_DATA_START_OFFSET if !MMU > > - select BUILDTIME_TABLE_SORT if MMU > > + select BUILDTIME_TABLE_SORT > > select CLINT_TIMER if !MMU > > select CLONE_BACKWARDS > > select COMMON_CLK > > -- > > 2.40.0 > >
| |