1. 08 6月, 2018 2 次提交
  2. 06 6月, 2018 2 次提交
    • J
      objtool: Fix GCC 8 cold subfunction detection for aliased functions · cd77849a
      Josh Poimboeuf 提交于
      The kbuild test robot reported the following issue:
      
        kernel/time/posix-stubs.o: warning: objtool: sys_ni_posix_timers.cold.1()+0x0: unreachable instruction
      
      This file creates symbol aliases for the sys_ni_posix_timers() function.
      So there are multiple ELF function symbols for the same function:
      
        23: 0000000000000150     26 FUNC    GLOBAL DEFAULT        1 __x64_sys_timer_create
        24: 0000000000000150     26 FUNC    GLOBAL DEFAULT        1 sys_ni_posix_timers
        25: 0000000000000150     26 FUNC    GLOBAL DEFAULT        1 __ia32_sys_timer_create
        26: 0000000000000150     26 FUNC    GLOBAL DEFAULT        1 __x64_sys_timer_gettime
      
      Here's the corresponding cold subfunction:
      
        11: 0000000000000000     45 FUNC    LOCAL  DEFAULT        6 sys_ni_posix_timers.cold.1
      
      When analyzing overlapping functions, objtool only looks at the first
      one in the symbol list.  The rest of the functions are basically ignored
      because they point to instructions which have already been analyzed.
      
      So in this case it analyzes the __x64_sys_timer_create() function, but
      then it fails to recognize that its cold subfunction is
      sys_ni_posix_timers.cold.1(), because the names are different.
      
      Make the subfunction detection a little smarter by associating each
      subfunction with the first function which jumps to it, since that's the
      one which will be analyzed.
      
      Unfortunately we still have to leave the original subfunction detection
      code in place, thanks to GCC switch tables.  (See the comment for more
      details.)
      
      Fixes: 13810435 ("objtool: Support GCC 8's cold subfunctions")
      Reported-by: Nkbuild test robot <lkp@intel.com>
      Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lkml.kernel.org/r/d3ba52662cbc8e3a64a3b64d44b4efc5674fd9ab.1527855808.git.jpoimboe@redhat.com
      cd77849a
    • T
      selftests: sparc64: char: Selftest for privileged ADI driver · 3c545084
      Tom Hromatka 提交于
      Add a selftest for the sparc64 privileged ADI driver.  These
      tests verify the read(), pread(), write(), pwrite(), and seek()
      functionality of the driver.  The tests also report simple
      performance statistics:
      
              Syscall Call    AvgTime AvgSize
                      Count   (ticks) (bytes)
              -------------------------------
              read          3  119638    8133
              pread         4  118164    6741
              write         3  339442    8133
              pwrite        4  280134    6741
              seek         10    2919       0
              Pass 8 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
      Signed-off-by: NTom Hromatka <tom.hromatka@oracle.com>
      Reviewed-by: NAllen Pais <allen.pais@oracle.com>
      Reviewed-by: NShuah Khan (Samsung OSG) <shuah@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3c545084
  3. 05 6月, 2018 1 次提交
  4. 04 6月, 2018 7 次提交
  5. 03 6月, 2018 6 次提交
  6. 02 6月, 2018 22 次提交