This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Thursday 19 February 2009, Christophe LYON wrote:+00001000 <__bar_veneer>: + 1000: b540 push {r6, lr} + 1002: 4e02 ldr r6, \[pc, #8\] + 1004: 46fe mov lr, pc + 1006: 4730 bx r6 + 1008: bd40 pop {r6, pc} + 100a: bf00 nop
Waitaminute. This code is completely bogus.
(1) You're creating an extra stack frame. This will break any function that passes args on the stack.
(2) mov lr, pc doesn't set the low bit of lr, so the callee will return to the stub in ARM mode.
What you need to do is:
> [...] Thanks, I'll update my patch.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |