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 <[email protected]>
:::::: CC: Linus Torvalds <[email protected]>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to