breakpoint.c: fix libc probe scan when no get_longjmp_target exists.
authorTiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
Fri, 1 Nov 2013 16:41:37 +0000 (11:41 -0500)
committerTiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
Fri, 1 Nov 2013 16:41:37 +0000 (11:41 -0500)
commit0569175e8e1820bb83569799c8d6dcbdf502c586
tree49f0c6452706b82ff6e94470b2025d040be06024
parent04abef86aa0dfd9c34d64593a5733be2eff8d8fa
breakpoint.c: fix libc probe scan when no get_longjmp_target exists.

As discussed on the GDB ML[1], libc probes for longjmp were not being
loaded if a custom <arch>_get_longjmp_target function was not
implemented.

This is trivially fixed by moving the 'if (!gdbarch_get_longjmp_target_p
(gdbarch))' down, just bellow libc probe code and above the per-objfile
cache lookup.

While the condition could also be removed altogether with no
side-effects, it is in fact an optimization to avoid searching for
symbols if the arch doesn't provide support for get_longjmp_target().

This has been tested on PPC and PPC64.

[1] https://sourceware.org/ml/gdb/2013-10/msg00191.html

gdb/
2013-11-01  Tiago Stürmer Daitx  <tdaitx@linux.vnet.ibm.com>

        * breakpoint.c (create_longjmp_master_breakpoint): Allow libc
        probe scan even when the arch provides no get_longjmp_target.
gdb/ChangeLog
gdb/breakpoint.c