Skip to content
  • Rabin Vincent's avatar
    ARM: 7299/1: ftrace: clear zero bit in reported IPs for Thumb-2 · d68133b5
    Rabin Vincent authored
    
    
    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: default avatarDave Martin <dave.martin@linaro.org>
    Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    d68133b5