solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets.
* sparcobsd-tdep.c: Don't include "nbsd-tdep.h".
(sparc32obsd_init_abi): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets.
* Makefile.in (sparcobsd-tdep.o): Update dependencies.
* config/vax/nm-obsd.h: Delete file.
* config/vax/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/vax/nm-nbsd.h: Delete file.
* config/vax/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/vax/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/sh/nm-nbsd.h: Delete file.
* config/sh/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/rs6000/nm-rs6000ly.h: Delete file.
* config/djgpp/fnchange.lst: Do not rename nm-rs6000ly.h.
* config/rs6000/rs6000lynx.mh (NAT_FILE): Set to config/nm-lynx.h.
* config/powerpc/nm-obsd.h: Delete file.
* config/powerpc/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/powerpc/nm-nbsd.h: Delete file.
* config/powerpc/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/pa/nm-obsd.h: Delete file.
* config/pa/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/mips/nm-nbsd.h: Delete file.
* config/mips/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/m88k/nm-obsd.h: Delete file.
* config/m88k/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/m68k/nm-nbsd.h: Delete file.
* config/m68k/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/m68k/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nm-nbsd.h: Delete file.
* config/i386/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/i386/obsd64.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nbsd64.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nm-i386lynx.h: Delete file.
* config/i386/i386lynx.mh (NAT_FILE): Set to config/nm-lynx.h.
* config/arm/nm-nbsd.h: Delete file.
* config/arm/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/arm/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/rs6000/tm-rs6000-aix4.h: Delete file.
* config/djgpp/fnchange.lst: Do not rename tm-rs6000-aix4.h.
* config/rs6000/aix4.mt (TM_FILE): Set to
config/rs6000/tm-rs6000.h.
* config/powerpc/tm-ppc-aix.h: Delete file.
* config/powerpc/aix.mt (TM_FILE): Set to
config/rs6000/tm-rs6000.h.
* config/m68k/tm-linux.h: Delete file.
* config/m68k/linux.mt (TM_FILE): Set to solib.h
* config/i386/tm-linux64.h: Delete file.
* config/i386/linux64.mt (TM_FILE): Set to solib.h.
* config/djgpp/fnchange.lst: Do not rename tm-linux.h.
* config/vax/nbsd.mt (TM_FILE): Set to solib.h.
* config/vax/tm-nbsd.h: Delete file.
* config/sparc/vxworks.mt (TM_FILE): Set to config/tm-vxworks.h.
* config/sparc/tm-vxworks.h: Delete file.
* config/sparc/nbsd.mt (TM_FILE): Set to solib.h.
* config/sparc/tm-nbsd.h: Delete file.
* config/sparc/linux64.mt (TM_FILE): Set to solib.h.
* config/sparc/linux.mt (TM_FILE): Set to solib.h.
* config/sparc/tm-linux.h: Delete file.
* config/s390/s390.mt (TM_FILE): Set to config/tm-linux.h
* config/s390/tm-linux.h: Delete file.
* config/pa/obsd.mt (TM_FILE): Set to solib.h.
* config/pa/tm-bsd.h: Delete file.
* config/m68k/obsd.mt (TM_FILE): Set to solib.h.
* config/m68k/tm-obsd.h: Delete file.
* config/m68k/nbsd.mt (TM_FILE): Set to solib.h.
* config/m68k/tm-nbsd.h: Delete file.
* config/i386/vxworks.mt (TM_FILE): Set to config/tm-vxworks.h.
* config/i386/tm-vxworks.h: Delete file.
* config/i386/obsd64.mt (TM_FILE): Set to solib.h.
* config/i386/obsd.mt (TM_FILE): Set to solib.h.
* config/i386/nbsd64.mt (TM_FILE): Set to solib.h.
* config/i386/nbsd.mt (TM_FILE): Set to solib.h.
* config/i386/tm-nbsd.h: Delete file.
* config/i386/i386lynx.mt (TM_FILE): Set to config/tm-lynx.h.
* config/i386/tm-i386lynx.h: Delete file.
* config/cris/cris.mt (TM_FILE): Set to solib.h.
* config/cris/tm-cris.h: Delete file.
* configure.in: Let TM_FILE, XM_FILE and NAT_FILE specify a path.
* configure: Re-generate.
* config/arm/nbsd.mt (TM_FILE): Set to "solib.h".
* config/arm/tm-nbsd.h: Delete file.
* config/powerpc/tm-ppcle-sim.h: Delete.
* config/powerpc/tm-ppcle-eabi.h: Delete.
* config/powerpc/tm-nbsd.h: Delete.
* config/powerpc/nbsd.mt (TM_FILE): Set to tm-ppc-eabi.h.
* config/djgpp/fnchange.lst: Do not rename tm-ppcle-sim.h or
tm-ppcle-eabi.h.
* gdbarch.sh: Delete check for consistency between GDB_MULTI_ARCH
and GDB_TM_FILE. Check for GDB_TM_FILE instead of
GDB_MULTI_ARCH_PARTIAL.
* gdbarch.h: Re-generate.
* observer.sh: Add struct so_list declaration.
* Makefile.in: Add dependencies on observer.h for solib.c and
breakpoint.c.
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): New
function.
(_initialize_breakpoint): Register
disable_breakpoints_in_unloaded_shlib as an observer of the
"solib unloaded" observation event.
(re_enable_breakpoints_in_shlibs): For bp_shlib_disabled breakpoints,
call decode_line_1 so unfound breakpoint errors are silent.
* solib.c (update_solib_list): When a solib is discovered to have
been unloaded by the program, notify all observers of the
"solib unloaded" observation event.
* gdb.base/sigstep.exp (breakpoint_to_handler_entry)
(skip_to_handler_entry): New procedures. Test stepping into a
handler when the breakpoint is at the handler's entry point.
Fix PR breakpoints/1757.
* infrun.c (struct execution_control_state): Replace
remove_breakpoints_on_following_step with
step_after_step_resume_breakpoint.
(init_execution_control_state): Update.
(handle_inferior_event): For signals, when stepping off a
breakpoint, set step_after_step_resume_breakpoint. When
BPSTAT_WHAT_STEP_RESUME, do a single-step off the breakpoint.
(keep_going): Delete code handling
remove_breakpoints_on_following_step.
Index: testsuite/ChangeLog
2004-08-30 Andrew Cagney <cagney@gnu.org>
* gdb.base/sigstep.exp (breakpoint_over_handler): Remove kfail
gdb/1757.
With code from Manoj Iyer <manjo@austin.ibm.com>:
* lib/gdb.exp (gdb_file_cmd): Return more information in the
return value. Add an arm for "no debugging symbols found".
Change a stray "error" to "perror".
(gdb_run_cmd): Adapt to new return value.
* gdb.base/remote.exp: Adapt to new return value.
* gdb.gdb/complaints.exp: Likewise.
* gdb.gdb/observer.exp: Likewise.
* gdb.gdb/selftest.exp: Likewise.
* gdb.gdb/xfullpath.exp: Likewise.
(dbx_link_shadow_contents): New static global variable.
(procfs_wait, case <PR_SYSEXIT>): Handle syssgi events.
(procfs_wait, case <FLTBPT>): Remove the __dbx_link brekapoint
if we just hit it.
(procfs_init_inferior): Enable syssgi() syscall trace if appropriate.
Reset dbx_link_bpt_addr as the address of __dbx_link() may change
from run to run.
(procfs_create_inferior): Remove syssgi syscall-exit notifications
after the inferior has been forked.
(remove_dbx_link_breakpoint): New function.
(dbx_link_addr): New function.
(insert_dbx_link_bpt_in_file): New function.
(insert_dbx_link_bpt_in_region): New function.
(insert_dbx_link_breakpoint): New function.
(proc_trace_syscalls_1): New function, extracted from
proc_trace_syscalls.
(proc_trace_syscalls): Replace extract code by call to
proc_trace_syscalls_1.
* solib-irix.c (disable_break): Remove stop_pc assertion, as it
is no longer valid.
* gdb.base/sigstep.exp (breakpoint_to_handler, skip_to_handler)
(skip_over_handler, breakpoint_over_hander): New test procedures.
(advance, advancei): Add a proper prefix, do not use
rerun_to_main.
* gdb.base/sigstep.c (main): Change to use an infinite loop.
* infrun.c (struct execution_control_state): Delete field
"stepping_through_sigtramp".
(init_execution_control_state): Do not set same.
(context_switch): Do not pass same to save_infrun_state and
load_infrun_state.
* gdbthread.h (struct thread_info): Delete field
stepping_through_sigtramp.
(save_infrun_state, load_infrun_state): Delete parameter
stepping_through_sigtramp.
* thread.c (load_infrun_state, save_infrun_state): Update.
'num_pieces' and 'pieces', for returning the result of an
expression that uses DW_OP_piece.
(struct dwarf_expr_piece): New struct type.
* dwarf2expr.c (new_dwarf_expr_context): Initialize num_pieces and
pieces.
(free_dwarf_expr_context): Free pieces, if any.
(add_piece): New function.
(execute_stack_op): Implement DW_OP_piece.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): If the result of the
expression is a list of pieces, print an error message.
(dwarf2_loc_desc_needs_frame): If the expression yields
pieces, and any piece is in a register, then we need a frame.