ARM: 7171/1: unwind: add unwind directives to bitops assembly macros
authorWill Deacon <will.deacon@arm.com>
Wed, 23 Nov 2011 10:28:25 +0000 (11:28 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 26 Nov 2011 21:58:53 +0000 (21:58 +0000)
commitc36ef4b1762302a493c6cb754073bded084700e2
tree2ea1bf8bb2ee7d972c09e0b29cc178c4c930ab4a
parentc89cefed35c8c5f53f36757f8a6768e390394ee3
ARM: 7171/1: unwind: add unwind directives to bitops assembly macros

The bitops functions (e.g. _test_and_set_bit) on ARM do not have unwind
annotations and therefore the kernel cannot backtrace out of them on a
fatal error (for example, NULL pointer dereference).

This patch annotates the bitops assembly macros with UNWIND annotations
so that we can produce a meaningful backtrace on error. Callers of the
macros are modified to pass their function name as a macro parameter,
enforcing that the macros are used as standalone function implementations.

Acked-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/lib/bitops.h
arch/arm/lib/changebit.S
arch/arm/lib/clearbit.S
arch/arm/lib/setbit.S
arch/arm/lib/testchangebit.S
arch/arm/lib/testclearbit.S
arch/arm/lib/testsetbit.S