1. 10 8月, 2017 1 次提交
    • J
      x86/asm: Fix UNWIND_HINT_REGS macro for older binutils · af79ded4
      Josh Poimboeuf 提交于
      Apparently the binutils 2.20 assembler can't handle the '&&' operator in
      the UNWIND_HINT_REGS macro.  Rearrange the macro to do without it.
      
      This fixes the following error:
      
        arch/x86/entry/entry_64.S: Assembler messages:
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
        arch/x86/entry/entry_64.S:521: Error: non-constant expression in ".if" statement
      Reported-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Fixes: 39358a03 ("objtool, x86: Add facility for asm code to provide unwind hints")
      Link: http://lkml.kernel.org/r/e2ad97c1ae49a484644b4aaa4dd3faa4d6d969b2.1502116651.git.jpoimboe@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      af79ded4
  2. 18 7月, 2017 1 次提交
    • J
      objtool, x86: Add facility for asm code to provide unwind hints · 39358a03
      Josh Poimboeuf 提交于
      Some asm (and inline asm) code does special things to the stack which
      objtool can't understand.  (Nor can GCC or GNU assembler, for that
      matter.)  In such cases we need a facility for the code to provide
      annotations, so the unwinder can unwind through it.
      
      This provides such a facility, in the form of unwind hints.  They're
      similar to the GNU assembler .cfi* directives, but they give more
      information, and are needed in far fewer places, because objtool can
      fill in the blanks by following branches and adjusting the stack pointer
      for pushes and pops.
      Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: live-patching@vger.kernel.org
      Link: http://lkml.kernel.org/r/0f5f3c9104fca559ff4088bece1d14ae3bca52d5.1499786555.git.jpoimboe@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      39358a03