On Wed, Aug 16, 2023 at 2:59 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > ld.lld 16.0.0 and newer defaults to '--no-undefined-version', which > causes the following error when CONFIG_MIPS_CLOCK_VSYSCALL is not set: > > ld.lld: error: version script assignment of 'LINUX_2.6' to symbol '__vdso_gettimeofday' failed: symbol not defined > > Only export __vdso_gettimeofday() when it will be present in the final > object file, which clears up the error. > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Closes: https://lore.kernel.org/oe-kbuild-all/202308170532.zxFFv25c-lkp@xxxxxxxxx/ > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > arch/mips/vdso/vdso.lds.S | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/mips/vdso/vdso.lds.S b/arch/mips/vdso/vdso.lds.S > index d90b65724d78..836465e3bcb8 100644 > --- a/arch/mips/vdso/vdso.lds.S > +++ b/arch/mips/vdso/vdso.lds.S > @@ -94,7 +94,9 @@ VERSION > #ifndef CONFIG_MIPS_DISABLE_VDSO > global: > __vdso_clock_gettime; > +#ifdef CONFIG_MIPS_CLOCK_VSYSCALL > __vdso_gettimeofday; > +#endif > __vdso_clock_getres; > #if _MIPS_SIM != _MIPS_SIM_ABI64 > __vdso_clock_gettime64; > > --- > base-commit: 2ccdd1b13c591d306f0401d98dedc4bdcd02b421 > change-id: 20230816-mips-vdso-cond-export-__vdso_gettimeofday-30ab92c716d4 > > Best regards, > -- > Nathan Chancellor <nathan@xxxxxxxxxx> > > LGTM as a maintainer of lld/ELF who has fixed some user-space packages (https://github.com/gentoo/gentoo/pull/29097#issuecomment-1383304538). Reviewed-by: Fangrui Song <maskray@xxxxxxxxxx> -- 宋方睿