[thomas-weissschuh:b4/auxclock-nanosleep 32/55] kernel/time/time_test.c:193:undefined reference to `__divdi3'

kernel test robot <[email protected]> Tue, 04 Aug 2026 09:08:20 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/thomas.weissschuh/linux.git b4/auxclock-nanosleep
head:   60f852175b99dee11b414f69b62ce55ccc72fa20
commit: f9e58884873c10cac3de20f1c51911350553a35e [32/55] timekeeping: time_test: Add a test for auxiliary to monotonic clock conversions
config: m68k-randconfig-r073-20260804 (https://download.01.org/0day-ci/archive/20260804/[email protected]/config)
compiler: m68k-linux-gcc (GCC) 16.1.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260804/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   m68k-linux-ld: kernel/time/time_test.o: in function `aux_mono_conv':
>> kernel/time/time_test.c:193:(.text+0x1d0): undefined reference to `__divdi3'
>> m68k-linux-ld: kernel/time/time_test.c:193:(.text+0x20a): undefined reference to `__moddi3'
>> m68k-linux-ld: kernel/time/time_test.c:193:(.text+0x234): undefined reference to `__divdi3'


vim +193 kernel/time/time_test.c

   168	
   169	static void aux_mono_conv(struct kunit *test)
   170	{
   171		const struct aux_mono_conv_test_case *params = test->param_value;
   172		u32 mono_mult, aux_mult, shift;
   173		struct tk_aux_mono_conv conv;
   174	
   175		if (!IS_ENABLED(CONFIG_POSIX_AUX_CLOCKS)) {
   176			kunit_skip(test, "CONFIG_POSIX_AUX_CLOCKS is not enabled");
   177			return;
   178		}
   179	
   180		clocks_calc_mult_shift(&mono_mult, &shift, 1, 1, 200);
   181		aux_mult = mult_frac(mono_mult, 100 + params->speed_difference_percentage, 100);
   182	
   183		conv = tk_aux_capture_mono_conv(params->mono_base, mono_mult, params->aux_base, aux_mult,
   184						shift);
   185	
   186		for (size_t i = 0; i < ARRAY_SIZE(params->timestamps); i++) {
   187			ktime_t mono, aux, expected_aux, converted_mono, converted_aux;
   188	
   189			mono = params->timestamps[i].mono;
   190			aux = params->timestamps[i].aux;
   191			kunit_info(test, "timestamp mono=%lld aux=%lld\n", mono, aux);
   192	
 > 193			expected_aux = mult_frac(mono - conv.mono_base,
   194						 100 + params->speed_difference_percentage,
   195						 100) + conv.aux_base;
   196	
   197			KUNIT_ASSERT_EQ(test, aux, expected_aux);
   198	
   199			converted_aux = ktime_mono_to_aux(mono, &conv);
   200			kunit_info(test, "converted_aux=%lld\n", converted_aux);
   201			KUNIT_EXPECT_GE(test, converted_aux, aux - 1);
   202			KUNIT_EXPECT_LE(test, converted_aux, aux + 1);
   203	
   204			converted_mono = ktime_aux_to_mono(aux, &conv);
   205			kunit_info(test, "converted_mono=%lld\n", converted_mono);
   206			KUNIT_EXPECT_GE(test, converted_mono, mono - 1);
   207			KUNIT_EXPECT_LE(test, converted_mono, mono + 1);
   208		}
   209	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki