Re: [RESEND PATCH] x86/vdso: Handle clock_gettime(CLOCK_TAI) in vDSO

From: kbuild test robot
Date: Fri Aug 17 2018 - 09:24:35 EST


Hi Matt,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/x86/vdso]
[also build test ERROR on v4.18 next-20180817]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Matt-Rickard/x86-vdso-Handle-clock_gettime-CLOCK_TAI-in-vDSO/20180817-202932
config: x86_64-randconfig-x017-201832 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

arch/x86/entry/vdso/vclock_gettime.o: In function `__vdso_clock_gettime':
>> arch/x86/entry/vdso/vclock_gettime.c:292: undefined reference to `__x86_indirect_thunk_rax'
ld: arch/x86/entry/vdso/vclock_gettime.o: relocation R_X86_64_PC32 against undefined symbol `__x86_indirect_thunk_rax' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: Bad value

vim +292 arch/x86/entry/vdso/vclock_gettime.c

da15cfdae arch/x86/vdso/vclock_gettime.c John Stultz 2009-08-19 289
23adec554 arch/x86/vdso/vclock_gettime.c Steven Rostedt 2008-05-12 290 notrace int __vdso_clock_gettime(clockid_t clock, struct timespec *ts)
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 291 {
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 @292 switch (clock) {
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 293 case CLOCK_REALTIME:
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 294 if (do_realtime(ts) == VCLOCK_NONE)
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 295 goto fallback;
da15cfdae arch/x86/vdso/vclock_gettime.c John Stultz 2009-08-19 296 break;
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 297 case CLOCK_MONOTONIC:
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 298 if (do_monotonic(ts) == VCLOCK_NONE)
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 299 goto fallback;
da15cfdae arch/x86/vdso/vclock_gettime.c John Stultz 2009-08-19 300 break;
c764c5daa arch/x86/entry/vdso/vclock_gettime.c Matt Rickard 2018-08-17 301 case CLOCK_TAI:
c764c5daa arch/x86/entry/vdso/vclock_gettime.c Matt Rickard 2018-08-17 302 if (do_tai(ts) == VCLOCK_NONE)
c764c5daa arch/x86/entry/vdso/vclock_gettime.c Matt Rickard 2018-08-17 303 goto fallback;
c764c5daa arch/x86/entry/vdso/vclock_gettime.c Matt Rickard 2018-08-17 304 break;
da15cfdae arch/x86/vdso/vclock_gettime.c John Stultz 2009-08-19 305 case CLOCK_REALTIME_COARSE:
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 306 do_realtime_coarse(ts);
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 307 break;
da15cfdae arch/x86/vdso/vclock_gettime.c John Stultz 2009-08-19 308 case CLOCK_MONOTONIC_COARSE:
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 309 do_monotonic_coarse(ts);
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 310 break;
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 311 default:
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 312 goto fallback;
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 313 }
0d7b8547f arch/x86/vdso/vclock_gettime.c Andy Lutomirski 2011-06-05 314
a939e817a arch/x86/vdso/vclock_gettime.c John Stultz 2012-03-01 315 return 0;
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 316 fallback:
ce39c6402 arch/x86/vdso/vclock_gettime.c Stefani Seibold 2014-03-17 317 return vdso_fallback_gettime(clock, ts);
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 318 }
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 319 int clock_gettime(clockid_t, struct timespec *)
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 320 __attribute__((weak, alias("__vdso_clock_gettime")));
2aae950b2 arch/x86_64/vdso/vclock_gettime.c Andi Kleen 2007-07-21 321

:::::: The code at line 292 was first introduced by commit
:::::: 2aae950b21e4bc789d1fc6668faf67e8748300b7 x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu

:::::: TO: Andi Kleen <ak@xxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip