]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Fix exception vector build with 2.23 era binutils
authorHugh Dickins <hughd@google.com>
Tue, 8 Nov 2016 06:28:21 +0000 (22:28 -0800)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 12 Nov 2016 09:12:49 +0000 (20:12 +1100)
commit9df225e9f8666777be42374c590df3bfafc62936
treeaf34672505c9cf33e696053d6f94162e4f737110
parentc2df628ea9e4a4832b04955e1c033cf9e99e47a5
powerpc: Fix exception vector build with 2.23 era binutils

The changes to use gas sections for constructing the exception vectors
causes a build break when using binutils 2.23:

  arch/powerpc/kernel/exceptions-64s.S:770: Error: operand out of range
  (0xffffffffffff8100 is not between 0x0000000000000000 and 0x000000000000ffff)

And so on.

Reported by Hugh with binutils-2.23.2-8.1.4.ppc64 from openSUSE 13.1 and
also Naveen & Denis using 2.23.52.0.1-26.el7 from RHEL 7. Strangely
binutils 2.22 (what I test with) is not affected.

This is caused by the use of @l in LOAD_HANDLER(). The @l was only
recently added in commit de04ba95ec71 ("powerpc/pseries: Remove
unnecessary syscall trampoline").

Luckily the gas section changes split out the LOAD_SYSCALL_HANDLER()
macro, which means we actually *don't* need to use @l in LOAD_HANDLER()
any more, only in LOAD_SYSCALL_HANDLER().

So drop the @l from LOAD_HANDLER().

Fixes: ce047403b1ab ("powerpc: Use gas sections for arranging exception vectors")
Signed-off-by: Hugh Dickins <hughd@google.com>
[mpe: Add gory details to change log]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/exception-64s.h