Step into functions with veneers not working
Hello,
When veneer is used for a function call it is not possible to step into the function.
Since veneer don't have any debug information attached to them abd the GDB documentation says the following about stepping into functions without debug information "Also, the step command only enters a function if there is line number information for the function. Otherwise it acts like the next command." so we could say this is expected behavior.
Moreover this can be changed with "set step-mode on"
"The set step-mode on command causes the step command to stop at the first instruction of a function which contains no debug line information rather than stepping over it."
However using "set step-mode on" all the time is not very effective as the debugger is stepping into every library function so it needs to constantly turned on and off to be effective (and in turn the process of turning it on and off is not effective either).
Do you have any solution or possible solution to implement in a feature release to handle stepping to work correctly when veneers are involved? Thank you!
The toolchain version which I used is 7.3.1.20180622 although is not to relevant as it can be reproduced with any toolchain which I tried and the veneer in question was:
000009b0 <__tutorial_
9b0: b401 push {r0}
9b2: 4802 ldr r0, [pc, #8] ; (9bc <__tutorial_
9b4: 4684 mov ip, r0
9b6: bc01 pop {r0}
9b8: 4760 bx ip
9ba: bf00 nop
9bc: 20000869 .word 0x20000869
Question information
- Language:
- English Edit question
- Status:
- Expired
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: