]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 7299/1: ftrace: clear zero bit in reported IPs for Thumb-2
authorRabin Vincent <rabin@rab.in>
Tue, 24 Jan 2012 15:52:52 +0000 (16:52 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 25 Jan 2012 09:24:37 +0000 (09:24 +0000)
commitdd33b099f914260d0ea4e5870a37276712dc7d78
tree4cd5cee5bb4023fdc1f92c9fbdf733167f0a0b5a
parent8111f3c2ea54d53b6acc6e78a0903b5ee30a51a8
ARM: 7299/1: ftrace: clear zero bit in reported IPs for Thumb-2

The dynamic ftrace ops startup test currently fails on Thumb-2 kernels:

 Testing tracer function: PASSED
 Testing dynamic ftrace: PASSED
 Testing dynamic ftrace ops #1: (0 0 0 0 0) FAILED!

This is because while the addresses in the mcount records do not have
the zero bit set, the IP reported by the mcount call does have it set
(because it is copied from the LR).  This mismatch causes the ops
filtering in ftrace_ops_list_func() to not call the relevant tracers.

Fix this by clearing the zero bit before adjusting the LR for the mcount
instruction size.  Also, combine the mov+sub into a single sub
instruction.

Acked-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/entry-common.S