(inf_ttrace_num_lwps): New variable.
(inf_ttrace_num_lwps_in_syscall): Renamed from
inf_ttrace_num_threads_in_syscall.
(inf_ttrace_him): Track TTEVT_LWP_CREATE, TTEVT_LWP_EXIT and
TTEVT_LWP_TERMINATE events.
(inf_ttrace_create_inferior): Assert that INF_TTRACE_NUM_LWPS is
zero.
(inf_ttrace_mourn_inferior): Set INF_TTRACE_NUM_LWPS to zero.
(inf_ttrace_attach): Assert that INF_TTRACE_NUM_LWPS is zero.
Track TTEVT_LWP_CREATE, TTEVT_LWP_EXIT and TTEVT_LWP_TERMINATE
events.
(inf_ttrace_wait): Report status as TARGET_WAITKIND_SPURIOUS by
default. Handle TTEVT_LWP_CREATE, TTEVT_LWP_EXIT and
TTEVT_LWP_TERMINATE events.
(inf_ttrace_thread_alive, inf_ttrace_pid_to_str): New functions.
(inf_ttrace_target): Set to_thread_alive and to_pid_to_str.
* Makefile.in (inf-ttrace.o): Update dependencies.
prototypes.
* hppa-tdep.c (hppa_read_pc): Rename from hppa_target_read_pc.
Make global. Remove HP-UX specific code. Use
frame_unwind_register_unsigned instead of
frame_unwind_register_signed.
(hppa_write_pc): Rename from hppa_target_write_pc. Make global.
Remove HP-UX specific code.
(hppa_unwind_pc): Make global. Remove HP-UX specific code.
(hppa_frame_prev_register_helper): Set "flags" register to zero
for all unwound frames.
(hppa_gdbarch_init): Adjust.
* hppa-hpux-tdep.c (HPPA_HPUX_SS_INSYSCALL): New define.
(hppa_hpux_read_pc, hppa_hpux_write_pc)
(hppa_hpux_unwind_pc): New functions.
(hppa_hpux_init_abi): Set read_pc, write_pc and unwind_pc.
(get_field, put_field): Assert that the format is one we can handle.
Simplify logic accordingly.
(floatformat_normalize_byteorder): New function.
(convert_floatformat_to_doublest): Use floatformat_normalize_byteorder
to normalize and select modified byte order. Pass modified byte order
to get_field.
(floatformat_is_negative, floatformat_is_nan, floatformat_mantissa):
Likewise.
(convert_doublest_to_floatformat): Select an appropriate intermediate
byte order if necessary. Always convert to the final format before
returning.
STOPPED_BY_WATCHPOINT. Point out that target_stopped_data_address
is not needed unless data-read and data-access watchpoints are
supported. Add a description of how GDB checks whether the
inferior stopped because a watchpoint was hit.
(struct inf_ttrace_page): New.
(struct inf_ttrace_page_dict): New.
(inf_ttrace_num_threads_in_syscall)
(inf_ttrace_reenable_page_protections): New variables.
(inf_ttrace_enable_syscall_events)
(inf_ttrace_disable_syscall_events, inf_ttrace_get_page)
(inf_ttrace_remove_page, inf_ttrace_mask_page_protections)
(inf_ttrace_enable_page_protections)
(inf_ttrace_disable_page_protections)
(inf_ttrace_insert_watchpoint, inf_ttrace_remove_watchpoint)
(inf_ttrace_can_use_hw_breakpoint)
(inf_ttrace_region_size_ok_for_hw_watchpoint)
(inf_ttrace_stopped_by_watchpoint): New functions.
(inf_ttrace_him): Remove unsused varaible `tts'.
(inf_ttrace_create_inferior): Add assertionts.
(inf_ttrace_mourn_inferior): Clear page dictionary.
(inf_ttrace_attach): Set initial event mask.
(inf_ttrace_detach): Reset number of threads in system call.
(inf_ttrace_wait): Deal with system call events.
(inf_ttrace_target): Initialize "hardware" watchpoint-related
parts of the target vector.
(_initialize_inf_ttrace): New prototype and function.
(alpha_cannot_fetch_register): Exclude registers numbers which
are no longer used from the list of registers that can be fetched.
(alpha_cannot_store_register): Exclude registers numbers which
are no longer used from the list of registers that can be stored.
* alpha-nat.c (fetch_osf_core_registers): Add missing value in
core_reg_mapping array.
* hppa-linux-tdep.c (insns_match_pattern_relaxed): New function.
(hppa_linux_in_dyncall): Check that we are inside the range of
$$dyncall, not necessarily at the first insn.
(hppa_linux_in_solib_call_trampoline): Identify a trampoline
even if the pc does not point to the first insn of the trampoline.
2004-11-24 Fred Fish <fnf@specifixinc.com>
* rs6000-tdep.c (skip_prologue): Use line table info to skip over
compiler generated function calls made as part of a prologue.
* inf-ttrace.h: New file.
* hppa-hpux-nat.c [HAVE_TTRACE]: Include <sys/ttrace>.
Include "inf-ttrace.h".
(ss_mpsfu_high): Define to ss_tlsp if necessary.
(hppa_hpux_fetch_register, hppa_hpux_store_register): Use
ptid_get_pid instead of PIDGET. Modify to handle both ttrace and
ptrace systems.
(_initialize_hppa_hpux_nat) [HAVE_TTRACE]: Call inf_ttrace_traget
instead of inf_ptrace_target.
* config/pa/hpux.mh (NATDEPFILES): Add inf-ttrace.o.
* Makefile.in (inf_ttrace_h): New variable.
(hppa-hpux-nat.o): Update dependency.
(inf-ttrace.o): New dependency.
(ALLDEPFILES): Add inf-ptrace.c and inf-ttrace.c.
(sparc32_frame_cache): For functions where there is no debugging
information to help us determine whether it's a struct-return
function or not, fallback on checking whether the instruction
at the return address is an "unimp" instruction or not.
hpux-thread.c to suppress children from running.
(hppa_hpux_child_can_run): New function.
(_initialize_hppa_hpux_nat): Use hppa_hpux_child_can_run.
* hpux-thread.c: Include string.h and hppa-tdep.h.
(FLAGS_REGNUM, SP_REGNUM, PC_REGNUM): Rename to HPPA_FLAGS_REGNUM,
HPPA_SP_REGNUM and HPPA_PCOQ_HEAD_REGNUM, respectively.
(hpux_thread_store_registers): Replace deprecated_registers with
calls to regcache_raw_read.
* config/pa/hpux11.mh, config/pa/hpux11w.mh: Delete HOST_IPC.
(linux_test_for_tracefork): Make more robust and verbose. Take
an ORIGINAL_PID argument and test for PTRACE_SETOPTIONS first.
(linux_supports_tracefork, linux_supports_tracevforkdone): Take a PID
argument. Update calls to linux_test_for_tracefork.
(linux_enable_event_reporting, child_follow_fork)
(child_insert_fork_catchpoint, child_insert_vfork_catchpoint)
(child_insert_exec_catchpoint): Update calls to
linux_supports_tracefork and linux_supports_tracevforkdone.
* hppah-nat.c (store_inferior_registers): Fix warning from ambiguous
expression.
(store_inferior_registers): Correct formatting. Replace uses of
deprecated_registers with calls to regcache_raw_read,
regcache_raw_write_part and regcache_raw_read_part.
(record_minimal_symbol, read_ofile_symtab): Replace
DEPRECATED_STREQ and DEPRECATED_STREQN with strcmp and strncmp.
* Makefile.in (dbxread.o): Update dependencies.
parse_and_eval_address to u_long before converting it to a pointer
type.
* i386fbsd-nat.c (_initialize_i386fbsd_nat): Change type of
ps_strings from int to u_long.
* i386obsd-nat.c (_initialize_i386obsd_nat): Cast _ps.val to
u_long instead of CORE_ADDR.
Don't define CRLF_SOURCE_FILES and DIRNAME_SEPARATOR.
* source.c (OPEN_MODE, FDOPEN_MODE): Remove the definitions in the
branch that doesn't define CRLF_SOURCE_FILES; always use
binary-mode open.
(print_source_lines_base, forward_search_command)
(reverse_search_command): Enable the code that accepts DOS-style
CRLF line endings on all platforms (this removes the need for
CRLF_SOURCE_FILES).
* defs.h: (DIRNAME_SEPARATOR) [__MSDOS__]: Define to ';'.
* config/djgpp/fnchange.lst: Group renames for opcode directory
together.
* config/djgpp/djconfig.sh: Replace file names that don't exist
anymore with existing files, for checking the unpacked
distribution.
* config/djgpp/config.sed (am_cv_exeext, lt_cv_sys_max_cmd_len):
Export pre-cooked values in configure-* targets that begin with
"@test -f stage_last".
* pa64solib.c (pa64_solib_thread_start_addr): Rename from
so_lib_thread_start_addr.
* pa64solib.h (so_list): Forward declare.
(pa64_solib_thread_start_addr): Prototype.
* somsolib.c (SHL_LOAD, SHL_UNLOAD): Define if not already defined.
(no_shared_libraries): Remove.
(som_solib_thread_start_addr): Rename from so_lib_thread_start_addr.
* somsolib.h (som_solib_thread_start_addr): Likewise; prototype.
* hpread.c (hpread_process_one_debug_symbol): Use either the som or
the elf solib handler to find the start address.
* config/pa/hppahpux.mh (NATDEPFILES): Move target-specific support
files to the target makefile.
* config/pa/hpux1020.mh (NATDEPFILES): Likewise.
* config/pa/hpux11.mh (NATDEPFILES): Likewise.
* config/pa/hpux11w.mh (NATDEPFILES): Likewise.
* config/pa/hppa64.mt (TDEPFILES): Put target-specific support
files for symbol reading and shared library handling here.
* config/pa/hppahpux.mt (TDEPFILES): Likewise.
(PA_SOM_ONLY): Define so we can build a 32-bit SOM only target
without bringing in 64-bit support.
* pa64solib.c (pa64_solib_thread_start_addr): Rename from
so_lib_thread_start_addr.
* pa64solib.h (so_list): Forward declare.
(pa64_solib_thread_start_addr): Prototype.
* somsolib.c (SHL_LOAD, SHL_UNLOAD): Define if not already defined.
(no_shared_libraries): Remove.
(som_solib_thread_start_addr): Rename from so_lib_thread_start_addr.
* somsolib.h (som_solib_thread_start_addr): Likewise; prototype.
* hpread.c (hpread_process_one_debug_symbol): Use either the som or
the elf solib handler to find the start address.
* config/pa/hppahpux.mh (NATDEPFILES): Move target-specific support
files to the target makefile.
* config/pa/hpux1020.mh (NATDEPFILES): Likewise.
* config/pa/hpux11.mh (NATDEPFILES): Likewise.
* config/pa/hpux11w.mh (NATDEPFILES): Likewise.
* config/pa/hppa64.mt (TDEPFILES): Put target-specific support
files for symbol reading and shared library handling here.
* config/pa/hppahpux.mt (TDEPFILES): Likewise.
(PA_SOM_ONLY): Define so we can build a 32-bit SOM only target
without bringing in 64-bit support.
* cris-tdep.c (cris_register_offset): Delete, never called.
(cris_spec_reg_applicable): Delete cris_ver_sim.
* MAINTAINERS: List d10v as OBSOLETE.
* rdi-share/host.h (FOPEN_WB): #ifdef 0 out definitions of
FOPEN_WB et.al., defined by "fopen-bin.h".
* hppa-tdep.c (skip_prologue_hard_way): Make static, add
stop_after_branch parameter and use it to determine if we should look
at the delay slot of the first branch insn to find prologue insns.
(hppa_skip_prologue): Update comment and call to skip_prologue_hard_way.
(hppa_frame_cache): Likewise.
* remote.c (putpkt_binary) Fix PR gdb/1806. Send an ACK
when an unexpected packet is received, as the target stubs
continually retransmit the same packet until ACKed.
* blockframe.c (inside_entry_func): Move to .....
* frame.c (inside_entry_func): ... here, and make static.
(backtrace_past_entry): New flag.
(get_prev_frame): Stop backtrace at the entry function if enabled
by flag. Update comments.
(_initialize_frame): Add command to set backtrace_past_entry flag.
* defs.h (inside_entry_func): Remove prototype.
doc/
* gdb.texinfo: Document set/show backtrace past-entry commands.
Rearrange index entries for set/show backtrace past-main.
* sentinel-frame.c (sentinel_frame_prev_pc): New function.
(sentinel_frame_unwinder): Add the prev_pc method.
* frame.c (frame_pc_unwind): Use the per-frame pc unwinder when
available. Do not handle the sentinel-frame case.
* frame-unwind.h (frame_prev_register_ftype): Define.
(struct frame_unwind): Add prev_pc;
* gdb_curses.h: Include term.h here, prefering ncurses/term.h.
* utils.c: Include gdb_curses.h instead of curses.h and term.h.
* tui/tui.c: Don't include term.h.
* configure, config.in: Rebuilt.
* i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): New.
(i386_linux_init_abi): Call dwarf2_frame_set_signal_frame_p.
* inf-ptrace.c (inf_ptrace_attach): Call
observer_notify_inferior_created.
* inftarg.c (child_attach): Likewise.
* symfile-mem.c: Include "observer.h", "auxv.h", and "elf/common.h".
(symbol_file_add_from_memory): Take NAME argument. Use it for
the new BFD's filename.
(add_symbol_file_from_memory_command): Update call to
symbol_file_add_from_memory.
(struct symbol_file_add_from_memory_args, add_vsyscall_page)
(symbol_file_add_from_memory_wrapper): New.
(_initialize_symfile_mem): Register add_vsyscall_page as an
inferior_created observer.
fetch_inferior_registers. Make static.
(m68kbsd_store_inferior_registers): Rename from
store_inferior_registers. Make static.
(_initialize_m68kbsd_nat): Construct and add target vector.
* config/m68k/nbsdaout.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-ptrace.o.
(NAT_FILE): Set to tm-solib.h.
(LOADLIBES): New variable.
* config/m68k/nbsdelf.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-ptrace.o.
(NAT_FILE): Delete variable.
* config/m68k/obsd.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-ptrace.o.
(NAT_FILE): Set to tm-solib.h.
* config/m68k/nm-nbsdaout.h: Remove file.