Hi Jason,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.16-rc4]

url:    
https://github.com/0day-ci/linux/commits/Jason-Vas-Dias/x86-vdso-on-Intel-VDSO-should-handle-CLOCK_MONOTONIC_RAW/20180312-141707
config: x86_64-randconfig-x002-201810 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 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:336: undefined reference to 
>> `__x86_indirect_thunk_rax'
   /usr/bin/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
   /usr/bin/ld: final link failed: Bad value
   collect2: error: ld returned 1 exit status

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

da15cfda arch/x86/vdso/vclock_gettime.c       John Stultz     2009-08-19  333  
23adec55 arch/x86/vdso/vclock_gettime.c       Steven Rostedt  2008-05-12  334  
notrace int __vdso_clock_gettime(clockid_t clock, struct timespec *ts)
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  335  {
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21 @336   
switch (clock) {
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  337   
case CLOCK_REALTIME:
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  338   
        if (do_realtime(ts) == VCLOCK_NONE)
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  339   
                goto fallback;
da15cfda arch/x86/vdso/vclock_gettime.c       John Stultz     2009-08-19  340   
        break;
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  341   
case CLOCK_MONOTONIC:
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  342   
        if (do_monotonic(ts) == VCLOCK_NONE)
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  343   
                goto fallback;
da15cfda arch/x86/vdso/vclock_gettime.c       John Stultz     2009-08-19  344   
        break;
ff72916d arch/x86/entry/vdso/vclock_gettime.c Jason Vas Dias  2018-03-11  345   
case CLOCK_MONOTONIC_RAW:
ff72916d arch/x86/entry/vdso/vclock_gettime.c Jason Vas Dias  2018-03-11  346   
        if (do_monotonic_raw(ts) == VCLOCK_NONE)
ff72916d arch/x86/entry/vdso/vclock_gettime.c Jason Vas Dias  2018-03-11  347   
                goto fallback;
ff72916d arch/x86/entry/vdso/vclock_gettime.c Jason Vas Dias  2018-03-11  348   
        break;
da15cfda arch/x86/vdso/vclock_gettime.c       John Stultz     2009-08-19  349   
case CLOCK_REALTIME_COARSE:
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  350   
        do_realtime_coarse(ts);
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  351   
        break;
da15cfda arch/x86/vdso/vclock_gettime.c       John Stultz     2009-08-19  352   
case CLOCK_MONOTONIC_COARSE:
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  353   
        do_monotonic_coarse(ts);
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  354   
        break;
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  355   
default:
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  356   
        goto fallback;
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  357   
}
0d7b8547 arch/x86/vdso/vclock_gettime.c       Andy Lutomirski 2011-06-05  358  
a939e817 arch/x86/vdso/vclock_gettime.c       John Stultz     2012-03-01  359   
return 0;
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  360  
fallback:
ce39c640 arch/x86/vdso/vclock_gettime.c       Stefani Seibold 2014-03-17  361   
return vdso_fallback_gettime(clock, ts);
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  362  }
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  363  
int clock_gettime(clockid_t, struct timespec *)
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  364   
__attribute__((weak, alias("__vdso_clock_gettime")));
2aae950b arch/x86_64/vdso/vclock_gettime.c    Andi Kleen      2007-07-21  365  

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

:::::: TO: Andi Kleen <a...@suse.de>
:::::: CC: Linus Torvalds <torva...@woody.linux-foundation.org>

---
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