Re: [lldb-dev] Source-level stepping with emulated instructions

2022-01-28 Thread Greg Clayton via lldb-dev
We just need to specify that the addresses for these emulated instruction address ranges have symbols and the type of these symbols are set to "eSymbolTypeTrampoline". We run into a similar case when you are stepping through the PLT entries for external functions. If your main binary has a "pri

Re: [lldb-dev] Source-level stepping with emulated instructions

2022-01-19 Thread Kjell Winblad via lldb-dev
Thank you Pavel and Jim for very helpful answers. > Note, the “no debug info" part is not a strict requirement, > since lldb also has controls for “shared libraries we never > stop in when stepping” and “name regular expressions > for functions we don’t stop in”. At present, those controls > are

Re: [lldb-dev] Source-level stepping with emulated instructions

2022-01-18 Thread Jim Ingham via lldb-dev
I think that description was a bit too much inside baseball…. Every time lldb stops outside a stepping range while stepping, it invokes a set of “should stop here” agents to determine what to do next. If any of those agents think we should NOT stop here, they are expected to produce a set of

Re: [lldb-dev] Source-level stepping with emulated instructions

2022-01-18 Thread Jim Ingham via lldb-dev
> On Jan 16, 2022, at 11:23 PM, Pavel Labath wrote: > > Hi Kjell, > > if you say these instructions are similar to function calls, then it sounds > to me like the best option would be to get lldb to treat them like function > calls. I think (Jim can correct me if I'm wrong) this consists of

Re: [lldb-dev] Source-level stepping with emulated instructions

2022-01-16 Thread Pavel Labath via lldb-dev
Hi Kjell, if you say these instructions are similar to function calls, then it sounds to me like the best option would be to get lldb to treat them like function calls. I think (Jim can correct me if I'm wrong) this consists of two things: - make sure lldb recognizes that these instructions ca

[lldb-dev] Source-level stepping with emulated instructions

2022-01-14 Thread Kjell Winblad via lldb-dev
Hi! I'm implementing LLDB support for a new processor architecture that the company I'm working for has created. The processor architecture has a few emulated instructions. An emulated instruction works by jumping to a specific address that contains the start of a block of instructions that emulat