[fpc-devel] wrong step-over with fpc debug info / how to do objcopy on Mac, or strip .debug_frame
Jonas Maebe
jonas at freepascal.org
Tue Dec 4 19:03:51 CET 2018
On 03/12/18 13:58, Martin wrote:
> Posts by "bigDan":
> http://forum.lazarus-ide.org/index.php/topic,42869.msg303599.html#msg303599
> The log he provided shows that
> - lldb got a "thread step-over"
> - lldb believed to have stopped at the end of step-over (not any other
> reason): "stop reason = step over"
> - the active thread remained the same. So stepping was done in the
> correct thread
> - the called subroutine is located at a different address (not inlined)
> pc before stepping (in calling code) 0x0000000100059d8e
> pc after stepping (in subroutine) 0x00000001002718e8
> - the stackpointer was reduced by 8, and the stackframe register was NOT
> yet modified.
> So the stop was in the prologue ("begin" line of function)
>
>
> On windows one way to solve the problem was to get rid of .debug_frame
> info.
At best it hides an apparent bug FPC's generation of Dwarf CFI.
> It would be interesting to test if that happens on Mac too.
> Does anyone know how to strip that info of the app bundle?
FPC does not generate any information that gets stored in .debug_frame
on Darwin. The section that is there probably comes from crt1.o or so,
and does not cover FPC-generated code.
Jonas
More information about the fpc-devel
mailing list