Skip to content
Snippets Groups Projects
  1. Mar 02, 2017
    • Albert ARIBAUD's avatar
      armv5te: make 'ret lr' produce iinterworking 'bx lr' · 6b4e9426
      Albert ARIBAUD authored
      
      Current ARM assembler helper for the 'return to caller' pseudo-instruction
      turns 'ret lr' into 'mov pc, lr' for ARMv5TE. This causes the core to remain
      in its current ARM state even when the routine doing the 'ret' was called
      from Thumb-1 state, triggering an undefined instruction exception.
      
      This causes early run-time failures in all boards compiled using the Thumb-1
      instruction set (for instance the Open-RD family).
      
      ARMv5TE supports 'bx lr' which properly implements interworking and thus
      correctly returns to Thumb-1 state from ARM state.
      
      This change makes 'ret lr' turn into 'bx lr' for ARMv5TE.
      
      Signed-off-by: default avatarAlbert ARIBAUD <albert.u.boot@aribaud.net>
      6b4e9426
  2. Feb 27, 2017
  3. Feb 26, 2017
  4. Feb 23, 2017
  5. Feb 22, 2017
Loading