[PATCH] Fix stop-on-solib event failures
Fri Aug 16 12:16:00 GMT 2019
> On 15 Aug 2019, at 15:55, Tom Tromey <email@example.com> wrote:
>>>>>> "Alan" == Alan Hayward <Alan.Hayward@arm.com> writes:
> Alan> [ This patch replaces "[PATCH] testsuite: disable break-interp.exp for Arm
> Alan> buildbot". Instead of working around the issue, this fixes the issues. ]
> Alan> On some Arm targets (namely the buildbot Arm Docker setup) placing breakpoints
> Alan> on just the solib dynamic probes will cause the target process to not stop.
> Alan> For stop-on-solib to work, a breakpoint also needs placing at the original
> Alan> stop address. This is due to bad placing of the probe addresses in the
> Alan> linker.
> My understanding is that the probe code is intended to be more efficient
> than the old code. Won't always installing the old-style breakpoint
> eliminate the efficiency gain?
Right, ok, if that’s the case then yes I agree this patch isn’t right - we shouldn’t
be avoiding the optimisation to support broken probes.
> If the probes don't work properly on ARM, is there some way to detect that?
> Why don't they work?
I’ll investigate a little more to see if I can figure out why it’s wrong, and if we
can detect it.
I could add a UI command to toggle off the optimisation? Not sure I like that.
Failing all that I could go back to the previous "disable break-interp.exp for Arm”
> Alan> In addition, the gdb.base/break-interp.exp test has a extra step that is only
> Alan> required for ppc64 targets. However on Ubuntu X86 and AArch64, this causes
> Alan> the program to now be stopped in an unknown location. The fix here is to
> Alan> ensure the ppc64 step is only run on ppc64 targets. This fixes a long
> Alan> standing issue.
> This part seems fine.
I’ll push this part.
More information about the Gdb-patches