I'm looking at a disassembly of an executable I just built, and I'm confused as to what this line can possibly mean:
00000000 <func_foo>:
0: e1a0100d mov r1, sp
4: e59fd090 ldr sp, [pc, #144]
8: e92d4002 push {r1, lr}
c: eafffffe b c <func_foo+0xc> ;;; <<----- HERE
The branch instruction has a carry bit (c) set, but it just branches to itself. It looks like an infinite loop, but I did not insert this code; it was entirely compiler generated (GCC 4.6.3).
Can anyone shed some insight on this?