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 :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation