From cfd8ab242a3fcae371bdd4cd83c9a59b36fcfd51 Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Tue, 22 Jul 2008 02:10:14 +0000 Subject: [PATCH] Scrub remnants of IN_SOLIB_DYNSYM_RESOLVE_CODE. * gdbarch.sh: Adjust comment to refer to in_solib_dynsym_resolve_code(). * gdbarch.h, gdbarch.c: Update. * solib-osf.c: Ditto. * infrun.c: Ditto. (handle_inferior_event): Use in_solib_dynsym_resolve_code unconditionally. * config/mips/nm-irix5.h: Remove undef of IN_SOLIB_DYNSYM_RESOLVE_CODE. * gdbint.texinfo: Refer to target_so_ops.in_dynsym_resolve_code instead of IN_SOLIB_DYNSYM_RESOLVE_CODE. --- gdb/ChangeLog | 13 +++++++++++++ gdb/config/mips/nm-irix5.h | 2 -- gdb/doc/ChangeLog | 5 +++++ gdb/doc/gdbint.texinfo | 4 ++-- gdb/gdbarch.c | 2 +- gdb/gdbarch.h | 2 +- gdb/gdbarch.sh | 2 +- gdb/infrun.c | 19 ++++--------------- gdb/solib-osf.c | 2 +- 9 files changed, 28 insertions(+), 23 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9bd9c8f127..6b6d20c7e2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,16 @@ +2008-07-21 Stan Shebs + + Scrub remnants of IN_SOLIB_DYNSYM_RESOLVE_CODE. + * gdbarch.sh: Adjust comment to refer to + in_solib_dynsym_resolve_code(). + * gdbarch.h, gdbarch.c: Update. + * solib-osf.c: Ditto. + * infrun.c: Ditto. + (handle_inferior_event): Use in_solib_dynsym_resolve_code + unconditionally. + * config/mips/nm-irix5.h: Remove undef of + IN_SOLIB_DYNSYM_RESOLVE_CODE. + 2008-07-21 Tom Tromey * symfile.c (reread_symbols): Don't pass argument to observer. diff --git a/gdb/config/mips/nm-irix5.h b/gdb/config/mips/nm-irix5.h index f29f5e314d..70d7f5938a 100644 --- a/gdb/config/mips/nm-irix5.h +++ b/gdb/config/mips/nm-irix5.h @@ -18,8 +18,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#undef IN_SOLIB_DYNSYM_RESOLVE_CODE - #define TARGET_HAS_HARDWARE_WATCHPOINTS /* TARGET_CAN_USE_HARDWARE_WATCHPOINT is now defined to go through diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 5378fdb467..7d1efb2cbb 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2008-07-21 Stan Shebs + + * gdbint.texinfo: Refer to target_so_ops.in_dynsym_resolve_code + instead of IN_SOLIB_DYNSYM_RESOLVE_CODE. + 2008-07-21 Tom Tromey * observer.texi (GDB Observers): Remove obsolete comment. diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index e94ebb32bb..23d5816c5b 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -3825,8 +3825,8 @@ final `return from function call' instruction. Define this function to return nonzero if the program is stopped in the trampoline that returns from a shared library. -@item IN_SOLIB_DYNSYM_RESOLVE_CODE (@var{pc}) -@findex IN_SOLIB_DYNSYM_RESOLVE_CODE +@item target_so_ops.in_dynsym_resolve_code (@var{pc}) +@findex in_dynsym_resolve_code Define this to return nonzero if the program is stopped in the dynamic linker. diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 3a967a9b77..8a139da69d 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -2150,7 +2150,7 @@ gdbarch_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR ip) void set_gdbarch_skip_main_prologue (struct gdbarch *gdbarch, - gdbarch_skip_main_prologue_ftype skip_main_prologue) + gdbarch_skip_main_prologue_ftype skip_main_prologue) { gdbarch->skip_main_prologue = skip_main_prologue; } diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index cede82693a..870b79b73d 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -538,7 +538,7 @@ typedef CORE_ADDR (gdbarch_skip_trampoline_code_ftype) (struct frame_info *frame extern CORE_ADDR gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR pc); extern void set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code); -/* If IN_SOLIB_DYNSYM_RESOLVE_CODE returns true, and SKIP_SOLIB_RESOLVER +/* If in_solib_dynsym_resolve_code() returns true, and SKIP_SOLIB_RESOLVER evaluates non-zero, this is the address where the debugger will place a step-resume breakpoint to get us past the dynamic linker. */ diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index d33fd7d421..2731833572 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -557,7 +557,7 @@ f:int:print_insn:bfd_vma vma, struct disassemble_info *info:vma, info::0: f:CORE_ADDR:skip_trampoline_code:struct frame_info *frame, CORE_ADDR pc:frame, pc::generic_skip_trampoline_code::0 -# If IN_SOLIB_DYNSYM_RESOLVE_CODE returns true, and SKIP_SOLIB_RESOLVER +# If in_solib_dynsym_resolve_code() returns true, and SKIP_SOLIB_RESOLVER # evaluates non-zero, this is the address where the debugger will place # a step-resume breakpoint to get us past the dynamic linker. m:CORE_ADDR:skip_solib_resolver:CORE_ADDR pc:pc::generic_skip_solib_resolver::0 diff --git a/gdb/infrun.c b/gdb/infrun.c index 2f32a82b5b..9f3fb8cb91 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -140,13 +140,13 @@ show_debug_infrun (struct ui_file *file, int from_tty, past the dynamic linker, as if we were using "next" to step over a function call. - IN_SOLIB_DYNSYM_RESOLVE_CODE says whether we're in the dynamic + in_solib_dynsym_resolve_code() says whether we're in the dynamic linker code or not. Normally, this means we single-step. However, if SKIP_SOLIB_RESOLVER then returns non-zero, then its value is an address where we can place a step-resume breakpoint to get past the linker's symbol resolution function. - IN_SOLIB_DYNSYM_RESOLVE_CODE can generally be implemented in a + in_solib_dynsym_resolve_code() can generally be implemented in a pretty portable way, by comparing the PC against the address ranges of the dynamic linker's sections. @@ -3014,12 +3014,7 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n"); until we exit the run time loader code and reach the callee's address. */ if (step_over_calls == STEP_OVER_UNDEBUGGABLE -#ifdef IN_SOLIB_DYNSYM_RESOLVE_CODE - && IN_SOLIB_DYNSYM_RESOLVE_CODE (stop_pc) -#else - && in_solib_dynsym_resolve_code (stop_pc) -#endif - ) + && in_solib_dynsym_resolve_code (stop_pc)) { CORE_ADDR pc_after_resolver = gdbarch_skip_solib_resolver (current_gdbarch, stop_pc); @@ -3112,13 +3107,7 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n"); if (real_stop_pc != 0) ecs->stop_func_start = real_stop_pc; - if ( -#ifdef IN_SOLIB_DYNSYM_RESOLVE_CODE - IN_SOLIB_DYNSYM_RESOLVE_CODE (ecs->stop_func_start) -#else - in_solib_dynsym_resolve_code (ecs->stop_func_start) -#endif -) + if (in_solib_dynsym_resolve_code (ecs->stop_func_start)) { struct symtab_and_line sr_sal; init_sal (&sr_sal); diff --git a/gdb/solib-osf.c b/gdb/solib-osf.c index 00f1cd278a..3f9dca4939 100644 --- a/gdb/solib-osf.c +++ b/gdb/solib-osf.c @@ -606,7 +606,7 @@ osf_in_dynsym_resolve_code (CORE_ADDR pc) for the user: When stepping inside a subprogram located in a shared library, gdb might stop inside the dynamic loader code instead of inside the subprogram itself. See the explanations in infrun.c about - the IN_SOLIB_DYNSYM_RESOLVE_CODE macro for more details. */ + the in_solib_dynsym_resolve_code() function for more details. */ return 0; } -- 2.34.1