Make repeated attempts to find solib breakpoint
On some versions of Android (in particular, those version for which no
'rtld_db_dlactivity' symbol is available, or else the linker improperly
reports its own load address as NULL,) GDB will not be able to find the
linker's solib event breakpoint until after _start() has been called.
And typically, enable_break() is called before _start(). If GDB never
tries again, it will never receive notifications of shared libraries
being loaded and unloaded, and pending breakpoints will never get
resolved.
With this change, GDB will retry enable_break() during every call to
svr4_current_sos(), until it succeeds; and in particular, the call made
to svr4_current_sos() that results from our internal breakpoint on
_start().
Signed-off-by:
Ryan V. Bissell <rbissell@nvidia.com>
Loading
Please sign in to comment