blob: a9038f81389abcf6c0967769e4a512128d3fd528 [file] [log] [blame]
Thu Dec 31 15:26:13 1998 Stan Shebs <shebs@andros.cygnus.com>
* corelow.c (core_ops): Don't initialize statically.
(init_core_ops): New function, fills in core_ops.
(_initialize_corelow): Use it.
Thu Dec 31 16:54:30 1998 David Taylor <taylor@texas.cygnus.com>
The following changes were made by
Elena Zannoni <ezannoni@kwikemart.cygnus.com>
Edith Epstein <eepstein@sophia.cygnus.com>
David Taylor <taylor@texas.cygnus.com>
* config/pa/tm-hppa.h (INSTRUCTION_NULLIFIED): Change to read
nullify instruction bit from IPSW only when we are not in a system
call.
(STRCAT_REGISTER, pa_do_strcat_registers_info): Additional
parameter -- precision.
* Makefile.in (BUILD_TUI): To build the tui, only when configured
with --enable-tui.
(YLWRAP): Use ylwrap to avoid problems on systems w/o bison.
(gdb$(EXEEXT)): Make it dependent on BUILD_TUI.
(all-tui): Remove dependency from phony target.
(c-exp.tab.c): Use ylwrap instead of bison.
(jv-exp.tab.c): Ditto.
(f-exp.tab.c): Ditto.
(m2-exp.tab.c): Ditto.
* configure.in (ENABLE_CFLAGS): Define and export BUILD_TUI.
* configure: Regenerated.
* c-typeprint.c (c_type_print_base): Get to the method name by
skipping over all the namespaces, classes and '::'.
* infcmd.c (run_command): Only call SOLIB_RESTART if it's
defined.
(detach_command): Ditto.
* infptrace.c (call_ptrace): Add some debugging code.
* infrun.c (follow_inferior_fork): Only define on HP.
(wait_for_inferior): Only call SOLIB_IN_DYNAMIC_LINKER if we have
shared libraries; restore test of IN_SOLIB_DYNSYM_RESOLVE_CODE
removed by HP.
* Makefile.in (ALLDEPFILES): Add somread.c, hp-psymtab-read.c,
hp-symtab-read.c.
(SFILES): Remove the above files
(COMMON_OBS): Remove somread.o
(SFILES): Add the tui files to this, so they get
included in etags tables.
(all-tui): New rule, which does a recursive make in the tui
subdir.
(gdb$(EXEEXT)): Add tui-all to the list of
dependencies, and add tui/libtui.a to the link list.
(tui/libtui.a): When recursing, pass down
${FLAGS_TO_PASS}. And don't echo the make command. This is
closer to what the other recursions do.
(HFILES_NO_SRCDIR) add hpread.h.
(COMMON_OBS): Add hp-psymtab-read.o, hp-symtab-read.o
Allow the TUI code to be conditionally enabled.
(TUI_TARGET, TUI_LIBRARY): New variables, whose values are set by
the configuration script. They're set to the empty string when
the TUI isn't enabled.
(gdb$(GDBEXT)): Use those, instead of referring to tui-all and
tui/libtui.a directly.
* Makefile.in: Avoid spurious relinking.
(gdb$(EXEEXT)): Depend on the actual tui library, not on a
fictitious target. Since the fictitious target never existed, make
would always relink.
(tui/libtui.a): Renamed from all-tui. Always recurse to make sure
the library is up to date.
(TUI_TARGET): Variable removed; there's no need for it any more.
* Makefile.in: Look for tui include files in the tui source dir.
* Use automake's `aclocal' program to generate aclocal.m4, to allow
us to use automake macros in configure.in with impunity.
* acconfig.h: Add an entry for the `TUI' symbol.
* acinclude.m4: New file, containing the code from the old
aclocal.m4. Incorporate (by reference) ../bfd/acinclude.m4, not
../bfd/aclocal.m4, since we only want bfd's local macros.
* aclocal.m4: Now automagically generated. Just run aclocal!
* annotate.c (annotate_catchpoint): New function.
* annotate.h: Taking the new includes (symtab.h and gdbtypes.h).
not taking the ansic C build fix.
(annotate_catchpoint): Declare.
* blockframe.c (blockvector_for_pc_sect): Check that the end of
the block is >= to the pc, not just >.
* breakpoint.c (create_temp_exception_breakpoint): #If it out --
nothing calls it.
(bpstat_stop_status): Don't call SOLIB_HAVE_LOAD_EVENT if it's not
defined; don't call SOLIB_HAVE_UNLOAD_EVENT if it's not defined.
(bpstat_get_triggered_catchpoints): If we don't have shared
library support, then don't call SOLIB_LOADED_LIBRARY_PATHNAME nor
SOLIB_UNLOADED_LIBRARY_PATHNAME.
(watch_command_1): Don't require a run before a watch command
unless we're on HP [it's an HP OS bug, not a generic limitation]
(catch_load_command_1): Don't define if no shared libraries.
(catch_command_1): Don't claim to support fork catchpoints unless
CHILD_INSERT_FORK_CATCHPOINT is defined, don't claim to support
vfork catchpoints unless CHILD_INSERT_VFORK_CATCHPOINT is defined,
don't clain to support shared library load catchpoints if shared
libraries aren't supported, and don't claim to support exec
catchpoints unless CHILD_INSERT_EXEC_CATCHPOINT is defined
(bpstat_do_actions): If we just set cmd to NULL, don't then try to
set it to cmd->next as we'll SEGV.
(bpstat_do_actions): Simplify significantly. It's
now almost as simple as before the merge and it no longer has the
HP bug that breakpoint commands are executed repeatedly.
(break_at_finish_command_1): Rewrite and make sure
selected_frame points to a frame before using it. Fix string
termination error.
(break_at_finish_at_depth_command_1): Ditto.
(can_use_hw_watchpoints): New static variable.
(read_memory_nobpt): Test for breakpoint type bp_none.
(insert_breakpoints): Test for breakpoint type bp_catch_exec;
insure have a current frame before getting the frame address.
(remove_breakpoints): Check for breakpoints of types bp_none,
bp_catch_fork, bp_catch_vfork, and bp_catch_exec.
(bpstat_stop_status): Fix updates of b->hit_count.
(bpstat_have_active_hw_watchpoints): New function.
(create_exec_event_watchpoint): New function.
(watch_command_1): Use can_use_hw_watchpoints.
(catch_fork_command_1): Change name of function to call from
target_create_catch_(v)fork_hook to create_(v)fork_even_catchpoint.
(delete_breakpoint): Test for already deleted breakpoints; add
support for bp_catch_fork, bp_catch_vfork, and bp_catch_exec
breakpoints.
(_initialize_breakpoint): Add can-use-hw-watchpoints to list of
user settable debugger variables.
(clear_command): When there is no argument
to the clear command, delete all breakpoints that are hit at
default line. This will include a breakpoint whose line number
does not correspond to the default line, but has been set at
the default address.
(delete_breakpoint): Don't call bpstat_clear_actions, instead
clear things explicitly; if clearing breakpoint_at, then also
clear any associated actions so that bpstat_do_actions won't try
to execute them.
(_initialize_breakpoint): Fix function name for bx command.
(tbreak_command): Remove static from declaration.
(maintenance_info_breakpoints): Ditto.
(reattach_breakpoints): New funct definition, used with with
hardware watchpoints
(breakpoint_1): Change format and add entries to bptypes[]
(maintenance_info_breakpoints): Function is no longer static
(_initialize_breakpoint): Removed a comment.
(exception_catchpoints_are_fragile,
exception_support_initialized): Define.
(breakpoint_here_p): Fixed syntax error in conditional
(disable_watchpoints_before_interactive_call_start): Fixed call to
check_duplicates. Need a section parameter.
(enable_watchpoints_after_interactive_call_stop): Fixed call to
check_duplicates. Need a section parameter.
(breakpoint_re_set_one): Fixed call to check_duplicates. Need a
section parameter.
(delete_command): Fixed syntax error in conditional
(breakpoint_re_set): Fixed some typos.
(args_for_catchpoint_enable): New type for handling exceptions.
(current_exception_event): New variable for handling exceptions.
(insert_breakpoints): Check for additional breakpoint types --
bp_catch_throw, bp_catch_catch, call_disabled. Also, do some
additional work to handle an exception catchpoint.
(remove_breakpoint): There are additional breakpoint types to
check for: Bp_catch_throw, bp_catch_catch, call_disabled. Also do
some additional work to remove the exception catchpoints
(breakpoint_init_inferior): New input parameter. If there are
exception catchpoints delete them.
(breakpoint_here_p): There are additional breakpoint enable
settings to check for: Shlib_disabled, call_disabled
(breakpoint_thread_match): There are additional breakpoint enable
settings to check for: Call_disabled
(ep_is_catchpoint): There are additional breakpoint types to check
for: Bp_catch_throw, bp_catch_catch
(ep_is_exception_catchpoint): New function
(bpstat_find_step_resume_breakpoint): New function
(bpstat_do_actions): Introduce a local copy of the bpstat
structure.
(print_it_normal): There are additional breakpoint types to check
for: Bp_catch_throw, bp_catch_catch Changeing the control
structure a bit (adding else ifs) Add code to print out info about
exceptions.
(bpstat_stop_status): There are additional breakpoint enable
settings to check for: Call_disabled. there are additional
breakpoint types to chack for: Bp_catch_catch and bp_catch_throw.
Check to see if stopped due to an exception. Minor fixes to the
catch_errors calls. Make sure to count all encountered
breakpoints. There was something funky going on previously with
the counting.
(bpstat_what): Add cases for new breakpoint types:
bp_catch_catch, bp_catch_throw.
(bpstat_get_triggered_catchpoints): Check for new breakpoint types
: Bp_catch_catch, bp _catch_throw.
(breakpoint_1): Account for new breakpoint types.
(describe_other_breakpoints): Account for new breakpoint enable
setting (call_disabled)
(check_duplicates): Account for new breakpoint enable setting
(call_disabled)
(disable_breakpoints_in_shlibs): New function
(disable_watchpoints_before_interactive_call_start): New function
(mention): Account for new breakpoint types.
(break_command_1): Some additional checking for a valid PC.
(watch_command_1): Some dditional checking to prevent a watch
before a run command.
(ep_parse_optional_filename): Simplified for loop.
(create_exception_catchpoint): New function
(cover_target_enable_exception_callback): New function
(handle_gnu_4_16_catch_command): This used to be thcatch_command_1
function.e
(create_temp_exception_breakpoint): New function
(catch_command_1): Differs from gdb 4.16 and gdb 4.17. Is now
calling catch_exception_command_1 using the EX_EVENT_CATCH and
EX_EVENT_THROW values as parameters.
(clear_command): Additional comments
(delete_breakpoint): Handle exceptions. Check for additional
breakpoint enable settings: Shlib_disabled, call_disabled.
(delete_command): Hp folks are claiming that we should not delete
shlib_event breakpoints
(breakpoint_re_set_one): Moved call to check_duplicates. Add new
breakpoint types to switch statement.
(breakpoint_re_set_thread): New function
(enable_command): Account for new breakpoint types.
(insertion_state_t): New enumerated type.
(remove_breakpoint): New param in funct prototype.
(insert_breakpoints): Check for bp_catch_fork and bp_catch_vfork.
(remove_breakpoints): Changed call to remove_breakpoint.
(detach_breakpoints): New function.
(remove_breakpoint): New parameter, is. Also changed the
way b->inserted is set.
(ep_is_catchpoint): New function.
(ep_is_shlib_catchpoint): New function.
(print_it_normal): Check for bp_catch_load, bp_catch_unload,
bp_catch_fork, bp_catch_vfork, bp_catch_exec. Also new code
to print out catchpoints properly.
(bpstat_stop_status): Check for bp_catch_fork, bp_catch_vfork,
and bp_catch_exec. Also, some code to check for catching a
shared library load/unload.
(bpstat_what): Added catch_shlib_event to class enumeration.
Defined new macro, shlr. Expanded the bpstat_what_main_action
table. Add cases for bp_catch_load, bp_catch_unload,
bp_catch_fork, bp_catch_vfork, and bp_catch_exec.
(bpstat_get_triggered_catchpoints): New function.
(breakpoint_1): Changes to bptypes definition. Also check for
bp_catch_load, bp_catch_unload, bp_catch_fork, bp_catch_vfork,
bp_catch_exec. Similar changes to the switch statement.
(set_raw_breakpoint): Initialize new breakpoint structure fields.
dll_pathname, triggered_dll_pathname, forked_inferior_pid,
exec_pathname.
(create_solib_load_unload_event_breakpoint): New function.
(create_solib_load_event_breakpoint): New function.
(create_solib_unload_event_breakpoint): New function.
(create_fork_vfork_event_catchpoint): New function.
(create_fork_event_catchpoint): New function.
(create_vfork_event_catchpoint): New function.
(mention): New cases for bp_catch_load, bp_catch_unload,
bp_catch_fork, bp_catch_vfork, bp_catch_exec.
(ep_skip_leading_whitespace): New function.
(ep_find_event_name_end): New function.
(ep_parse_optional_if_clause): New function.
(ep_parse_optional_filename): New function.
(catch_fork_kind): New enumerated type.
(catch_fork_command_1): New function.
(catch_exec_command_1): New function.
(catch_load_command_1): New function.
(catch_unload_command_1): New function.
(catch_throw_command_1): New function.
(catch_command_1): Now calls catch_throw_command_1.
(tcatch_command): New function.
(delete_breakpoint): Changed call to remove_breakpoint.
Also free the new fields in the breakpoint structure.
(breakpoint_re_set_one): Handle bp_catch_load, bp_catch_unload,
bp_catch_fork, bp_catch_vfork, bp_catch_exec.
(disable_command): Handle bp_catch_load, bp_catch_unload,
bp_catch_fork, bp_catch_vfork, bp_catch_exec.
(enable_command): Handle bp_catch_load, bp_catch_unload,
bp_catch_fork, bp_catch_vfork, bp_catch_exec.
(_initialize_breakpoint): Alter add_com call for catchpoints,
add add_com call for watchpoints.
* breakpoint.h (enum bptype): New entries bp_catch_catch,
bp_catch_throw, and bp_none, bp_catch_load, bp_catch_unload,
bp_catch_fork, bp_catch_vfork,bp_catch_exec. Add declarations for
new functions bpstat_have_active_hw_watchpoints and
create_exec_event_catchpoint.
(tbreak_command): Add prototype.
(update_breakpoints_after_exec): Add prototype; update comments.
(reattach_breakpoints): New funct prototype declaration.
(enable): New enumerated value call_disabled.
(bpstat_find_step_resume_breakpoint): New funct decl.
(inf_context): New enumerated type.
(breakpoint_re_set_thread): New funct decl.
(breakpoint_init_inferior): New parameter.
(disable_watchpoints_before_interactive_call_start): New funct decl.
(enable_watchpoints_after_interactive_call_stop): New funct decl.
(disable_breakpoints_in_shlibs): New funct decl.
(struct breakpoint): New fields, dll_pathname,triggered_dll_pathname,
forked_inferior_pid,exec_pathname BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK.
(bpstat_get_triggered_catchpoints): New function.
(detach_breakpoints): New function.
(create_solib_load_event_breakpoint): New function.
(create_solib_unload_event_breakpoint) New function.
(create_fork_event_catchpoint): New function.
(create_vfork_event_catchpoint): New function.
(ep_is_catchpoint): New function.
(ep_is_shlib_catchpoint) New function.
(enum bpstat_what_main_action): New entry.
* buildsym.c (finish_block): Get rid of processing_hp_compilation;
handle LOC_INDIRECT case. Set the BLOCK_GCC_COMPILED to the right
compiler.
(push_context): Add symbols for parameters to the context_stack.
(merge_symbol_lists): New function. Merges two symbol lists.
(struct context_stack): Add new field param.
(processing_hp_compilation): New external var.
* c-exp.y: Use external flag hp_som_som_object_present to decide
whether code was compiled by HP's compilers. Add two new C++
tokens for true and false.
(yylex): Check for template name is done differently for the
HP/aCC compiler case; change some of the template processing code
for handling HP aCC templates.
* c-lang.c (c_create_fundamental_type): Added case to handle
template args. Handle FT_BOOLEAN type. Set no sign flag for
FT_CHAR.
(cplus_builtin_types): New structure for c++ builtin types.
(cplus_language_defn): Use cplus_builtin_types instead of
c_builtin_types.
* c-typeprint.c (c_type_print_base): Don't print 'privete' label
for a class if all members are private, similarly don't print
'public' for a struct. Add support for sized enums (HP/aCC). get
rid of the 'static' keyword printed by the demangler for member
function, when printing the type of a class. 'static' will be
added by this function. If the demangled name is null, and the
method is not stubbed, get the signature by looking at the
information stored in the symbol structure. Remove printing of
'const' and 'volatile' keywords for methods. This is now taken
care as part of the demangled member names.
(cp_type_print_method_args): New function. To print a C++ method
arguments and name to the output stream.
(c_type_print_cv_qualifier): New function. Print out "const" and
"volatile" attributes.
(c_type_print_varspec_prefix): Print const or volatile qualifiers.
(c_type_print_args): Print 'void' for c++.
(c_type_print_varspec_suffix): Print 'void' for a no argument
function.
(c_type_print_base): Print const or volatile qualifiers. Do not
print 'unnamed union' if HP aCC compiler used. Distinguish
between struct and class based on the DECLARED_TYPE. Handle
HP/aCC compiler case for not printing vtable. Add Template
support.
(cp_type_print_derivation_info): Print out 'protected' when
appropriate. This applies only to HP's compilers, not gcc.
(c_val_print): Added parameter embedded_offset. Add
embedded_offset to valaddr in function calls; fix calls to
val_print and cp_print_value_fields. process TYPE_CODE_METHOD as
well. moved call to check_typedef out of conditional. added
embedded offset param to val_print call.
(c_value_print): Add new parameter to call to val_print.
handle pointer to class case. Attempt to
determine the real type of the object to be printed.
ensure that const char *, const unsigned char *
come out without the type but the volatile variants
and the signed variants don't.
* coff-solib.c (coff_solib_add): Add parameters to call
to symbol_file_add.
* coff-solib.h: (Solib_REMOVE_INFERIOR_HOOK): New macro. defined
to 0. functionality not implemented for coff.
(SOLIB_CREATE_CATCH_LOAD_HOOK): New macro, generate error message
for coff.
(SOLIB_CREATE_CATCH_UNLOAD_HOOK): Ditto.
(SOLIB_HAVE_LOAD_EVENT): Ditto.
(SOLIB_LOADED_LIBRARY_PATHNAME): Ditto.
(SOLIB_HAVE_UNLOAD_EVENT): Ditto.
(SOLIB_UNLOADED_LIBRARY_PATHNAME): Ditto.
(SOLIB_IN_DYNAMIC_LINKER): Ditto.
(SOLIB_RESTART): Ditto.
* command.c (find_cmd): New function. (lookup_cmd_1): Call it,
change parsing if tui_version or xdb_commands is set.
(_initialize_command): Install new alias if xdb_commands is set.
* complaints.h: Add ifdef...endif pair at beginning and end of file.
* config.in, configure: Regenerated.
* config/pa/hppabsd.mh (NATDEPFILES): Added new files
hp-psymtab-read.o and hp-symtab-read.o.
* config/pa/hppahpux.mh (NATDEPFILES): Ditto.
* config/pa/hppahpux.mh (TERMCAP): Use -lHcurses.
* config/pa/hppaosf.mh (NATDEPFILES): Ditto.
* config/pa/hpux1020.mh (TERMCAP): Use -lHcurses.
(MH_CFLAGS): New flag, -D__HP_CURSES, this define
is used by HP's linker to find the correct curses library.
* config/pa/hpux1020.mh: New file.
* config/pa/hpux1020.mt: New file.
* config/pa/hpux1100.mh (TERMCAP): Link against -lcurses, not
-lHcurses. The latter does not contain mvwaddstr, wscrl, or
wstbwlmkfzz.
* config/pa/hpux1100.mh (TERMCAP): Use -lHcurses.
(MH_CFLAGS): New flag, -D__HP_CURSES, this define
is used by HP's linker to find the correct curses library.
* config/pa/hpux1100.mh (TERMCAP): When hosting on hpux 11.00, use
-lHcurses rather than -lcurses.
* config/pa/hpux1100.mh: New file.
* config/pa/hpux1100.mt: New file.
* config/pa/nm-hppah.h (CHILD_HAS_SYSCALL_EVENT): New macro
(CHILD_THREAD_ALIVE): New macro
(STOPPED_BY_WATCHPOINT): Add a condition to the macro,
! stepped_after_stopped_by_watchpoint
(TARGET_ENABLE_HW_WATCHPOINTS): New macro
(hppa_enable_hw_watchpoints): New funct decl
(TARGET_DISABLE_HW_WATCHPOINTS): New macro
( hppa_disable_hw_watchpoints): New funct decl
these are for HP's implementation of fast
watchpoints (via page protection).
(target_pid_to_str): New macro, calls hppa_pid_to_str
(target_tid_to_str): New macro, calls hppa_tid_to_str
* config/pa/nm-hppah.h (CHILD_POST_WAIT): Delete;
(CHILD_CREATE_CATCH_FORK_HOOK): Replace with
CHILD_INSERT_FORK_CATCHPOINT and CHILD_REMOVE_FORK_CATCHPOINT.
(CHILD_CREATE_CATCH_VFORK_HOOK): Replace with
CHILD_INSERT_VFORK_CATCHPOINT and CHILD_REMOVE_VFORK_CATCHPOINT.
(CHILD_CAN_FOLLOW_VFORK_PRIOR_TO_EXEC,
CHILD_INSERT_EXEC_CATCHPOINT, CHILD_REMOVE_EXEC_CATCHPOINT,
CHILD_HAS_EXECD, CHILD_REPORTED_EXEC_EVENTS_PER_EXEC_CALL,
CHILD_POST_ATTACH, TARGET_HAS_HARDWARE_WATCHPOINTS,
TARGET_CAN_USE_HARDWARE_WATCHPOINT,
TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT,
TARGET_RANGE_PROFITABLE_FOR_HW_WATCHPOINT, STOPPED_BY_WATCHPOINT,
HAVE_NONSTEPPABLE_WATCHPOINT, target_insert_watchpoint,
target_remote_watchpoint): New macros.
* config/pa/nm-hppah.h (CHILD_XFER_MEMORY): Reinsert accidentally
deleted define.
* config/pa/nm-hppah.h:
(PREPARE_TO_PROCEED): Defined macro to use
hppa_prepare_to_proceed.
(hppa_pid_to_str): Extern decl.
(hppa_tid_to_str): Extern decl.
(target_pid_or_tid_to_str): New macro definition.
(hppa_pid_or_tid_to_str): Extern decl.
(ENSURE_VFORKING_PARENT_REMAINS_STOPPED): New macro - for
handling events caused by a call to vfork.
(hppa_ensure_vforking_parent_remains_stopped): Extern decl.
(RESUME_EXECD_VFORKING_CHILD_TO_GET_PARENT_VFORK): New macro -
for handling events caused by a call to vfork.
(hppa_resume_execd_vforking_child_to_get_parent_vfork): Extern decl.
* config/pa/nm-hppah.h: Fix PREPARE_TO_PROCEED macro.
* config/pa/nm-hppah.h: Fix for gcc compile on HPUX, change
PT_RDUAREA to PT_RUAREA.
* config/pa/nm-hppah.h: Introduced an HPUXHPPA define.
A bit of a hack so that I can ifdef some code that
only works for the HP wildebeest debugger.
* config/pa/nm-hppah.h: Lots of new CHILD_ defines;
process_event_kind enum.
* config/pa/tm-hppa.h (BREAKPOINT32): New define.
(CALL_DUMMY_HAS_COMPLETED): New define.
* config/pa/tm-hppa.h (STACK_ALIGN): New macro.
(NO_EXTRA_ALIGNMENT_NEEDED): New macro.
(PC_REQUIRES_RUN_BEFORE_USE): New macro.
(REGISTER_NAMES): Formatting in file changed.
(CR27_REGNUM): Base register for thread local storage.
(USE_STRUCT_CONVENTION): New macro used to decide whether
a function returning a value of type type will
put it on the stack or into registers (based on the
PA risc calling conventions).
(EXTRACT_RETURN_VALUE): Fixed calculation for extracting return value.
(VALUE_RETURNED_FROM_STACK): New macro.
(TARGET_READ_PC): Declared the function used in the definition.
(SKIP_TRAMPOLINE_CODE): Declared the function used in the definition.
(TARGET_WRITE_PC): Declared the function used in the definition.
(TARGET_READ_FP): Declared the function used in the definition.
* config/pa/tm-hppa.h (STRCAT_REGISTER): Define macro for
future use.
(pa_do_strcat_registers_info): Moved function decl from
defs.h to this HPUX specific .h file.
* config/pa/tm-hppa.h (USE_STRUCT_CONVENTION): Type_LENGTH returns
bytes, not bits; fix off by 8 error.
* config/pa/tm-hppa.h:
New comment for obj_unwind_info definition
New typedef, obj_private_struct
* config/pa/tm-hppa.h: Delete most target_ macros -- use default
versions instead; remove extraneous comma from proc_wait macro.
* config/pa/tm-hppa.h: Get rid of macro HP_COMPILED_TARGET.
* config/pa/tm-hppa.h: Removed redefinitions of
USE_STRUCT_CONVENTION and STACK_ALIGN macros.
* config/pa/tm-hppa.h: Some new definitions
New macros: Arg0_REGNUM, ARG1_REGNUM, ARG2_REGNUM, ARG3_REGNUM.
target_pid_to_exec_file, target_acknowledge_forked_child,
target_create_catch_fork_hook, target_create_catch_vfork_hook,
target_has_forked, target_has_vforked, require_attach,
require_detach, proc_wait
New funct decls: Hppa_pid_to_exec_file,
hppa_acknowledge_forked_child, hppa_create_catch_fork_hook,
hppa_create_catch_vfork_hook, hppa_target_has_forked,
hppa_target_has_vforked, hppa_require_attach,
hppa_require_detach, process_wait
(unwind_table_entry): Added comments to describe struct fields.
* config/pa/tm-hppah.h (somsolib.h): Include it.
* config/pa/tm-hppah.h:
(CHILD_ENABLE_EXCEPTION_CALLBACK): New define
(CHILD_GET_CURRENT_EXCEPTION_EVENT): New define
* configure.host (hppa-*-hpux10.20, hppa-*-hpux11.0*): New configs.
* configure.in (AC_CHECK_HEADERS): Add check for term.h.
* configure.in: Add an --enable-tui argument.
* configure.in: Construct tui/Makefile from tui/Makefile.in.
* configure.in: Use AM_PROG_CC_STDC. If we have the GUI, then we
need this to process libgui.h.
* convex-tdep.c (decout): Change FILE to GDB_FILE.
* corefile.c: Include objfiles.h, symfile.h.
(core_file_command): Attempt to determine the name of the symbol
file from the core file.
(read_memory_string): New function.
* corefile.c (core_file_command): Temporary hack to make non-hpux
work. For, non-hpux, t->to_core_file_to_sym_file does not have a
reasonable value. No target_ops vector on the stack gives it a
non-zero value. fix later.
* corelow.c (core_file_to_sym_file): Added new local variable,
failing command, and do some explicit type castings.
(core_ops): Add three new fields: to_has_syscall_event,
to_enable_exception_callback, to_get_current_exception_event.
Necessary since we still have oldstyle initialization in
this file
* corelow.c: Include unistd.h
(core_file_to_sym_file): New function
(core_file_thread_alive): New function
(core_ops): Added new target ops vector fields. see below. And
yes we definitiely need to initialize them here, as long as
we're using static initialization.
* cxux-nat.c (add_shared_symbol_files): Additonal params for calls
to symbol_file_add.
* defs.h (gdb_file_isatty): New function decl.
* defs.h (GDB_FILE): If TUI is defined, define a structure rather
than making this an alias for FILE.
(gdb_stdout, gdb_stderr): If TUI is defined, then define these
as pointers to variables of type GDB_FILE rather than making them
be aliases for stdout and stderr.
* defs.h (TUIDO): Add definition conditionalized on definition
(or lack thereof) of TUI.
* defs.h (command_class): Add two additional values.
(precision_type): New enum.
* defs.h (gdb_fclose): Add declaration.
* defs.h (store_address): Change prototype to match function.
* defs.h (tui_version, xdb_commands, dbx_commands): Add decl's.
* defs.h (gdb_file_deallocate): New function declaration
* defs.h:
(streamtype): New enumerated type to distinguish between
output to a FILE and output to a buffer.
(tui_stream): New struct type, named GDB_FILE. Contains,
streamtype, FILE, buffer, and bufferlength fields.
(gdb_stdout): Of type GDB_FILE, will pass this around gdb
rather than stdout.
(gdb_stderr): Of type GDB_FILE, will pass this around gdb
rather than stderr.
(fputs_unfiltered_hook): Change stream parameter from FILE to
GDB_FILE
(flush_hook): Change stream parameter from FILE to GDB_FILE
(gdb_fclose): Fix declaration for gdb_fclose; parameter is now of
type GDB_FILE **
(gdb_file_adjust_strbuf): New function declaration. function lives in
utils.c.
(gdb_file_init_astring): New function declaration. function lives
in utils.c
(gdb_file_get_strbuf): New function declaration. function lives
in utils.c
* defs.h: Additional include files included when TUI is defined.
* defs.h: Funct decl source_full_path_of.
* demangle.c: Add HP_DEMANGLING_STYLE_STRING.
* demangle.c: Added new demangling style, EDG_DEMANGLING_STYLE_STRING,
to the demanglers structure. This is for support of
Kuck & Assoc.'s changes for demangling.
* eval.c (evaluate_subexp_standard): C++ member function changes.
* eval.c (evaluate_subexp_standard): Verify TYPE_TARGET_TYPE is
non NULL before dereferencing it.
* eval.c (evaluate_subexp_standard): With HP/aCC compiler it is not possible
to perform inferior calls via function pointers.
Resolve calls to overloaded functions using find_overload_match.
We cannot handle HP/aCC pointers to member functions.
Deal with HP/aCC pointers to members in various kind of expressions.
* f-lang.c (f_printchar): Change FILE to GDB_FILE.
(f_printstr): Ditto.
(emit_char): Ditto.
* f-lang.c (f_printstr): Change stdout to gdb_stdout.
* f-typeprint.c (f_print_type): Change FILE to GDB_FILE.
(f_type_print_varspec_prefix): Ditto.
(f_type_print_args): Ditto.
(f_type_print_varspec_suffix): Ditto.
(print_equivalent_f77_float_type): Ditto.
(f_type_print_base): Ditto.
* findvar.c (): Hp snapshot 3 changes. (extract_address): Coerce
return value from extract_unsigned_integer to CORE_ADDR.
(store_address): Change val from CORE_ADDR to LONGEST; changes to
support machines where CORE_ADDR and LONGEST are different sizes.
(get_saved_register): Coerce arg to store_address to LONGEST.
(read_relative_register_raw_bytes): Cast last arg to
store_address to LONGEST. (read_register): Cast return from
extract_address to a CORE_ADDR. (write_register_pid): Change val
from LONGEST to CORE_ADDR. (read_pc_pid): Save and restore
inferior_pid if necessary. (write_pc_pid): Ditto.
(read_var_value): Cast arg to store_address.
* findvar.c (read_relative_register_raw_bytes_for_frame): New
function.
(read_relative_register_raw_bytes): Call it.
* findvar.c (symbol_read_needs_frame): Handle LOC_THREAD_LOCAL_STATIC and
LOC_INDIRECT.
* fork-child.c (fork_inferior): Chenge fifth parameter to be a
function returning void.
* fork-child.c (fork_inferior): Delete unused variable f.
* fork-child.c:
(Startup_WITH_SHELL): New macro -- interim fix for a bug
(breakup_args): New function -- breaks up an argument string into
an argument suitable for passing into execvp().
(fork_inferior): Handling problems with starting up gdb with a shell.
-- again, this appears to be an interim fix.
* fork-child.c:
(fork_inferior): Added a comment
(clone_and_follow_inferior): New function.
(startup_inferior): Minor formatting changes.
* fork-child.c:
(fork_inferior): Hp change is problematic. The -f option has
different meanings for different shells. It is particularly
inappropriate for bourne shells.
* fork-child.c:
(fork_inferior): Added new parameter, pre_trace_fun.
pre_trace_fun is a function pointer. For some targets,
like HPUX, this function gets called to prepare for forking
a child.
* fork-child.c:
(fork_inferior): Fixed call to init_trace_fun
* fork-child.c:
Moved definition of STARTUP_WITH_SHELL to inferior.h
Added a DEBUGGING macro. Currently set to 0. May remove
later.
breakup_args: Add DEBUGGING ifdefs. more sophisticated
parsing to break up args.
(fork_inferior): Rename kshell variable to shell. new local
variable, tryname. Make use of STARTUP_WITH_SHELL macro.
More error processing if starting up with a shell.
(startup_inferior): Distinguish between starting up with a shell
and not doing so.
* gdbthread.h:
Declarations for load_infrun_state and save_infrun_state take
an additional parameter.
* gdbthread.h: Note that sometime between gdb 4.16 and 4.17,
thread.h was renamed gdbthread.h
(load_infrun_state): Additional parameters
(store_infrun_state): Additional parameters
* gdbthread.h: Include breakpoint.h
* hp-psymtab-read.c (QUICK_LOOK_UP): Redefine to be 0.
(hpread_build_psymtabs): Deal with enums.
(hpread_start_psymtab): Include section offset.
(hpread_end_psymtab): Take care of offset.
* hp-psymtab-read.c (TRUE): Define.
(FALSE): Define.
(file_exists): New function. Checks for existance of file.
(hpread_pxdb_needed): Rewrite.
(hpread_quick_traverse): Use correct demangling style.
Handle F77 case.
(hpread_get_header): Rewrite.
(hpread_get_textlow): Add support for DOC_FUNCTION.
(hpread_build_psymtabs): Make sure we do the right thing
for pxdb and F77.
* hp-psymtab-read.c (hpread_pxdb_check): Change parenthesis positions.
* hp-psymtab-read.c (hpread_quick_traverse): Compare CORE_ADDR
variable end_addr to 0 instaed of NULL to get rif of gcc warning.
* hp-psymtab-read.c:
(Hpread_get_textlow): Added param to function
Defined convennience macros and some datatypes and variables for
processing the quick lookup-tables. Looks like the code existed
before, but has been munged.
(hpread_pxdb_needed): Major rearrangements of code. Additional local
variables. Also, more extensive checking for various scenarios:
debug info for optimized code vs. unoptimized code, pxdb has been
run vs. pxdb has not been run.
(VALID_FILE): New macro
(VALID_MODULE): New macro
(VALID_PROC): New macro
(VALID_CLASS): New macro
(FILE_START): New macro
(MODULE_START): New macro
(PROC_START): New macro
(FILE_END): New macro
(MODULE_END): New macro
(PROC_END): New macro
(FILE_ISYM): New macro
(MODULE_ISYM): New macro
(PROC_ISYM): New macro
(VALID_CURR_FILE): New macro
(VALID_CURR_MODULE): New macro
(VALID_CURR_PROC): New macro
(VALID_CURR_CLASS): New macro
(CURR_FILE_START): New macro
(CURR_MODULE_START): New macro
(CURR_PROC_END): New macro
(CURR_FILE_ISYM): New macro
(CURR_MODULE_ISYM): New macro
(CURR_PROC_ISYM): New macro
(TELL_OBJFILE): New macro
(pst_syms_struct): New typedef to keep track of the start/end symbol
table (LNTT) indices of psymtabs created so far.
(pst_syms_count): New variable
(pst_syms_size): New variable
(told_objfile): New variable
(init_pst_syms): New function. sets up psymtab symbol index stuff.
(clear_pst_syms): New function. clean up psymtab symbol index stuff.
(record_pst_syms): New function. add info about newest psymtab to symbol
index table.
(find_next_pst_start): New function. Find a suitable symbol table index.
(find_next_file_isym): New function
(find_next_proc_isym): New function
(find_next_module_isym): New function
(scan_procs): New function. Scan and record partial symbols for all
functions starting from specified index and in a specified code range.
(hpread_quick_traverse: Major rearrangement of code. The function
now uses all the nifty macros. There are some new local variables.
Check for EDG_DEMANGLING style. ifdef out some code for handling F77.
Previously, the function looped over all the modules in the table.
Now, the function loops over all the files, modules, and procedures.
With HP aCC and CTTI, it is possible for a compiled object to have a
file and no module.
(hpread_build_psymtabs): Added a section of code ifdefed by
QUICK_LOOK_UP. It check to see whether or not there are any globals
in the executable. Fix number of params to hpread_start_psymtab call.
Some changes to the way DNTT_TYPE_MODULE is handled.
(hpread_get_textlow): Change in signature, minor code changes. The
function finds the low address associated with a specified symbol.
In looking for the address for the symbol avoid going of the end of
the LNTT file.
* hp-psymtab-read.c: Change TRUE to 1 and FALSE to 0. Do some
reformatting.
* hp-psymtab-read.c: Include demangle.h
(trans_lang): New function to let gdb know the correct language.
(hpread_quick_traverse): Use ARM style demangling.
Demangle procedures names.
Use gdb language names instead of hp language names.
Add symbol to list using its demangled name.
* hp-psymtab-read.c: New file.
(hpread_call_pxdb): New function. Call PXDB to process our file.
(hpread_pxdb_check): New function. Return TRUE if the file needs
pre-processing by PXDB and we have thus called PXDB to do this
processing and the file needs to be re-loaded.
(hpread_quick_traverse): New function. Traverse the quick look-up
tables, building a set of psymtabs.
(hpread_get_header): New function. Get appropriate header from obj
file, based on pxdb type
(hpread_symfile_init): No change from hpread.c
(hpread_build_psymtabs): If there are quick lookup tables, read those,
then scan the global section LNTT. Otherwise, just scan the whole LNTT.
Changed: Add a global function entry to the global partial symbol list.
Handle end of symbols, for QLT case.
In case of TAGDEF, if it is a class or a template, add the name to the
var_namespace, so that it is known as a type by gdb.
In case of CONSTANT, and it is global, add it to the globals.
(hpread_symfile_finish): No change from hpread.c
(hpread_get_lntt): Make it not static
(hpread_get_gntt): No change from hpread.c
(hpread_get_slt): Make it not static
(hpread_get_textlow): No change from hpread.c
(hpread_start_psymtab): No change from hpread.c
(hpread_end_psymtab): No change from hpread.c
* hp-symtab-read.c (hpread_get_scope_start): Renamed. It was
hpread_get_depth.
(hpread_type_translate): Distinguish between signed and unsigned char
types.
(hpread_psymtab_to_symtab): Set flag for hp compilation.
(hpread_read_function_type): Append symbols for parameters to local
list as well as to the global list. Get the parameters types from the
local list instead of the global list.
(hpread_read_struct_type): Add new field num_fn_fields to next_fn_field
structure. Rewrite handling of templates
(hpread_type_lookup): Change handling of dntt_type_modifier.
(hpread_process_one_debug_symbol): Call hpread_get_scope_start instea
of hpread_get_depth. Handle enum as well.
(hpread_get_scope_depth): New function. Get nesting depth for a
DNTT entry.
* hp-symtab-read.c (hpread_psymtab_to_symtab): Set
processing_gcc_compilation to 0.
* hp-symtab-read.c (hpread_psymtab_to_symtab_1): Change stdout to
gdb_stdout; change fflush to gdb_flush.
(hpread_psymtab_to_symtab): Change fflush to gdb_flush.
* hp-symtab-read.c (hpread_read_enum_type): Declare variable.
(hpread_read_struct_type): Eliminate references
to 'args' member of fn_field.
* hp-symtab-read.c (hpread_read_struct_type): A static member
is now indicated by the bitsize field, not the bitpos.
Initialize physname to empty.
(fix_static_member_physnames): Use new macros to deal with
physnames.
* hp-symtab-read.c (hpread_read_struct_type): Change references
to bitpos member of struct field to use the FIELD_BITPOS macro.
* hp-symtab-read.c (hpread_read_struct_type): Comment out reference to
obsolete field fn_field.args.
Add struct complaint definitions for complaints.
(hpread_read_struct_type): Change call to complain.
(hpread_read_array_type): Change call to complain.
(hpread_type_lookup): Change call to complain.
(hpread_process_one_debug_symbol): Change calls to complain.
(hpread_type_translate): Change calls to complain.
* hp-symtab-read.c (hpread_read_struct_type): Make sure bitvector
has been allocated before calling has_vtable.
* hp-symtab-read.c (hpread_read_struct_type): Revert change,
just check for vtable without checking for bitvectors too.
* hp-symtab-read.c:
(Hpread_expand_symtab): Change name of local variable from
at_end_of_module to at_module_boundary.
Also, if demangling style is already EDG, do not reset it
to the HP demangling style.
Change at_end_of_module param to hpread_process_one_debug_symbol
call to at_module_boundary.
No longer break out of loop when reach end of module. With CTTI,
the compiler can generate function symbols which are not in
any module. Typically they show up after the end of one
module and before the start of the next module.
(hpread_read_struct_type): Check that the debug info for
a TEMPLATE_ARG is correct.
(hpread_process_one_debug_symbol): Change name of at_end_of_module_p
param to at_module_boundary_p.
Also set *at_module_boundary_p = -1 if missing a module end and set
it to 1 when finished expanding the debug info.
Handle TLS variable.
* hp-symtab-read.c: Include defs.h, symtab.h, gdbtypes.h, complaints.h.
(fixup_class): New static variable.
(fixup_method): New static variable.
(hpread_get_location): Rewrite.
(hpread_has_name): Add cases for DNTT_TYPE_DOC_FUNCTION and
DNTT_TYPE_DOC_MEMFUNC
(hpread_expand_symtab): Use HP demangling style.
Set hp_som_som_object_present to 1.
(hpread_type_translate): Error out if not immediate. Issue warning
if there is an unhandled type code.
(error_in_hpread_type_translate_complaint): Remove this structure.
(hpread_read_enum_type): Don't assume size of enum is always 4 bytes.
(hpread_read_function_type): Add new parameter to indicate a new block.
Do not add the parameters to the symbol list.
If the type was read in earlier, do not modify the type structure.
If we are creating a new block, set the local symbol list to be the
param list.
Need to mark this type as preprocessed.
(hpread_read_doc_function_type): New function. Read and internalize
a native DOC function debug symbol.
(hpread_read_struct_type): A method can be of type doc_function and
doc_memfunc too.
Handle case in which a method is read before its class. Deal with
incomplete method types.
Handle cases in which HP/aCC compiler creates operator names w/o
the 'operator' keyword. Rewrite the loop over the fileds.
(fix_static_member_physnames): New function. Adjust the physnames for
each static member.
(fixup_class_method_type): New function. Fix-up the type structure for a
class.
(hpread_read_array_type): Change complaint to warning.
(hpread_type_lookup): Add case for DNTT_TYPE_DOC_FUNCTION.
For structures/classes set static member to point to strings with full
names.
Change calls to hpread_read_function_type to pass extra parameter.
(hpread_record_lines): Handle case for SLT_NORMAL_OFFSET.
(class_of): New function. Given a function "f" which is a member of a class,
find the classname that it is a member of.
(hpread_process_one_debug_symbol): Deal with possible alias field from the
som record for the Function or Entry type.
Do the demangling ourselves if the gdb demangler failed.
Add support for DOC functions.
For function types, add parameters to local list.
(hpread_get_scope_depth): Make this function a no-op.
(hpread_adjust_bitoffsets): New function. Adjust the bitoffsets for all
fields of an anonymous union.
(hpread_get_next_skip_over_anon_unions): New function. Skip over anonymous
unions.
* hp-symtab-read.c: Include demangle.h
(hpread_expand_symtab): Ensure we are using ARM-style demangling.
(hpread_process_one_debug_symbol): Set the mangled and demangled
names for functions.
Record the class name to generate the demangled names of member
functions.
* hp-symtab-read.c: New file.
(hpread_get_depth): No change from hpread.c
(hpread_get_line): No change from hpread.c
(hpread_get_location): No change from hpread.c
(hpread_has_name): Make it not static. Return 1 for DNTT_TYPE_BLOCKDATA
and DNTT_TYPE_MEMFUNC. Return 0 for CLASS_SCOPE, REFERENCE,PTRMEM,
PTRMEMFUNC, CLASS, GENFIELD, VFUNC, MEMACCESS, INHERITANCE,
FRIEND_CLASS, FRIEND_FUNC, MODIFIER, OBJECT_ID, TEMPLATE, TEMPLATE_ARG,
FUNC_TEMPLATE, LINK.
(hpread_psymtab_to_symtab_1): No changes from hpread.c
(hpread_psymtab_to_symtab): Make it a static function
(hpread_expand_symtab): Modified
(hpread_type_translate): If not typep.dntti.immediate do not abort,
but complain and return. Same for default action. Handle more HP_TYPEs.
(hpread_lookup_type): Initially allocate a correct-size type-vector.
(hpread_alloc_type): Reset type_addr only if a type was allocated.
(hpread_read_enum_type): If this has already a type associated, return.
(hpread_read_function_type): Do different things depending on whether
function is a MEMFUNC, a TEMPLATE, a FUNCTION som record.
Do not use the LOC_REGPARM_ADDR symbol class.
(hpread_read_struct_type): Handle classes and templates too. Major
rewrite.
(hpread_get_nth_template_arg): New function.
(hpread_read_templ_arg_type): New function.
(hpread_read_set_type): No change from hpread.c
(hpread_read_array_type): Modified
(hpread_read_subrange_type): Add handling of more DNTT entries.
added support for templates, classes, references, virtual functions.
(hpread_type_lookup): Handle DNNT_TYPE_MODULE.
(hpread_record_lines): No changes from hpread.c
(hpread_process_one_debug_symbol): Handle WITH, COMMON,
CLASS_SCOPE. Expand TAGDEF case to handle classes and templates.
* hppa-tdep.c (pa_do_strcat_registers_info): Has a new parameter,
precision, which is passed into the call to pa_strcat_fp_reg to
indicate whether to display the floating point registers using
single or double preceision.
(pa_strcat_registers): Introduce local variable, precision, and
pass it into call to pa_strcat_fp_reg.
(pa_strcat_fp_reg): Modified function. New parameter, precision,
used by function to decide whether to use single or double
precision. Also added the code to put a double precision value
into a buffer.
* hppa-tdep.c: Add'l includes <machine/save_state.h>,
<unistd.h>, declare pa_register_look_aside, define is_pa_2.
(rp_saved): Check for where to read the return pointer from.
(pa_do_registers_info): Handle is_pa_2. (pa_register_look_aside):
new function. (pa_print_registers): Handle is_pa_2.
(in_solib_call_trampoline): Handle a compiler/linker error.
(skip_trampoline_code): Changes to some masks used in examining
instructions. (inst_saves_fr): Test for FSTWS instruction.
(skip_prologue): Renamed to skip_prologue_hard_way.
(after_prologue): New function. (skip_prologue): New function.
* hppa-tdep.c (after_prologue): If f is NULL, don't dereference
it.
* hppa-tdep.c (after_prologue): If no debug info, return zero
telling caller that we need to find the end of the prologue via
the hard way (instruction examination).
* hppa-tdep.c (find_unwind_entry): Avoid dereferencing a null
pointer.
* hppa-tdep.c (hppa_pid_to_exec_file): Deleted -- no longer used.
* hppa-tdep.c (hppa_prepare_to_proceeed): Add prototype.
(read_unwind_info): Purecov comments, bug fixes.
(find_unwind_entry): Purecov comments, bug fixes.
(find_stub_with_shl_get): Purecov comments.
(frame_chain): Additional parens.
(hppa_push_arguments): Changes to commented out version of routine.
(hppa_fix_call_dummy): Purecov comments, fix location of end.o.
(in_solib_call_trampoline): Purecov comments.
(in_solib_return_trampoline): Purecov comments.
(setup_d_pid_in_inferior): Fix location of end.o.
(initialize_hp_cxx_exception_support): Fix location of end.o.
(child_enable_exception_callback): Purecov comments.
* hppa-tdep.c:
(Pa_do_strcat_registers_info): New routine. called by
tui/tuiRegs.c:_tuiRegisterFormat to place a register name
and value into a string buffer. Interface may change in
future. Checking this in so that we have something
functional for HP.
(pa_strcat_registers): New routine, called by
pa_do_strcat_registers_info. Does same thing as
pa_print_registers except it takes a stream parameter.
This routine should disappear in future. Checking in
so that we have something functional to give HP
(pa_strcat_fp_reg): New routine, called by
pa_do_strcat_registers_info and pa_strvat_registers
to place a floating point register name and value into
a buffer. This interface may change in future.
Checking in so that we have something functional to give HP.
* hppa-tdep.c: (Pa_print_fp_reg): Change prototype to match def'n.
(pa_register_look_aside): Fix comment immediately before function.
* hppa-tdep.c: Changes to better support stack unwinding,
reading and writing registers for HPUX. The HP folks had
an advantage ... access to a runtime architecture spec ;-}.
New includes: Ptrace.h
(internalize_unwinds): Initialize new fields in table.
(read_unwind_info): Entries in the table are now more complex
structures. References of the form ...->table[index].stub_type
are now ...->table[index].stub_unwind.stub_type.
(find_proc_framesize): Added a check for pc == 0.
(rp_saved): Entries in the table are now more complex
structures. References of the form ...->table[index].stub_type
are now ...->table[index].stub_unwind.stub_type.
(frameless_function_invocation): Stub_type becomes
stub_unwind.stub_type
(saved_pc_after_call): Stub_type becomes stub_unwind.stub_type
(hppa_frame_saved_pc): Stub_type becomes stub_unwind.stub_type
(frame_chain_valid): Stub_type becomes stub_unwind.stub_type
(hppa_call_dummy): Stub_type becomes stub_unwind.stub_type
(pa_print_fp_reg): Additional params to call val_print
(in_solib_call_trampoline): Stub_type becomes stub_unwind.stub_type
(in_solib_return_trampoline): Stub_type becomes stub_unwind.stub_typ
(skip_trampoline_code): Additional code to handle external
dyncalls. Also stub_type becomes stub_unwind.stub_type
(hppa_pid_to_exec_file): New funct. FOr HPUX 10.0 and beyond there
is an explicit ptrace request for getting the pathname associated
with a process id (pid).
* hppa-tdep.c: Fix for gcc compile on HPUX
(hppa_pid_to_exec_file): Remove unwanted param from
call to call_ptrace. Note, hppa_pid_to_exec_file goes
away in subsequent hp snapshots.
* hppa-tdep.c: Include bfd.h.
include dl.h
(args_for_find_stub): New structure.
(find_unwind_entry): Deal with null input pc value.
(rp_saved): Ditto.
For the import stub, return -24 always.
(hppa_frame_saved_pc): Save old pc value, to detect we are in a loop.
(init_extra_frame_info): Use TARGET_READ_FP.
(frame_chain): Include thread support.
If the caller's pc is zero, we loose and return, just like stack bottom.
Disable warning about being unable to find unwind info.
(hppa_push_arguments): Rewrite.
(hppa_value_returned_from_stack): New function. Handles returning a value
larger that 64 bits, stored on the stack.
(find_stub_with_shl_get): New function. To look up symbols in shlibs.
(cover_find_stub_with_shl_get): New function. Cover routine for
find_stub_with_shl_get to pass to catch_errors.
(hppa_fix_call_dummy): Comment out old stub mechanism. Rewrite using dyncall.
(target_read_fp): New function.
(pa_do_registers_info): Floating point registers start at FP4.
(pa_print_registers): Use FP4_REGNUM instead of 72.
(skip_trampoline_code): Do machine instruction matching for PA2.0.
(setup_d_pid_in_inferior): New function. Exception handling support.
(initialize_hp_cxx_exception_support): Ditto.
(child_enable_exception_callback): Ditto.
(child_get_current_exception_event): Ditto.
* hppah-nat.c (child_post_wait, child_post_follow_vfork,
child_post_follow_inferior_by_clone): New functions.
* hppah-nat.c (child_xfer_memory): Make sure the call to ptrace really
fails before we give up.
(hppa_pid_to_str): New function. Format a process id.
(hppa_tid_to_str): New function. Format a thread id.
* hppah-nat.c (child_xfer_memory): Use xmalloc, not alloca.
(child_post_wait): Delete.
(child_post_follow_vfork): Delete decl of child_ops; delete
large chunks of function -- let it be handled by the normal
mechanism that notices and handles exec events, in resume().
* hppah-nat.c (require_notification_of_exec_events): New function;
just notify of exec events, not all events, and just the specified
pid, don't include it's children (10.20 version).
(child_acknowledge_created_inferior): Call new function
require_notification_of_exec_events instead of
require_notification_of_events.
* hppah-nat.c [!GDB_NATIVE_HPUX_11]: Move HPUX 10.x-specific
support code here from infptrace.c.
* hppah-nat.c: Removed #define ptrace call_ptrace
replaced all calls to ptrace with calls to call_ptrace
(parent_attach_all): Removed call to ptrace
* hpread.c (hpread_psymtab_to_symtab_1): Change fflush to
gdb_flush; change stdout to gdb_stdout.
(hpread_psymtab_to_symtab): Change fflush to gdb_flush.
* hpread.h: New file. Includes all includes, struct defs, defines
from hpread.c.
* infcmd.c
(attach_command): New local variable, exec_file, added code to
determine exec_file from pid if exec_file is not already known,
call new target operation, target_post_attach -- a no-op unless
on HPUXHPPA
(detach_command): After detaching, do a SOLIB_RESTART
* infcmd.c (objfiles.h): Fix typo on include line.
* infcmd.c (run_command): Only call SOLIB_RESTART if it's
defined.
(detach_command): Ditto.
* infcmd.c:
(run_stack_dummy): Add calls to
disable_watchpoints_before_interactive_call_start and
enable_watchpoints_after_interactive_call_stops
(finish_command): Alter code handling the evaluation and printing
of the target function's return value.
(attach_command): When given a pid, but no exec file, try to determine
the exec file from the process. If the process does not record a
full path name, try to qualify the filename against the source path.
(_initialize_infcmd): Add some verbiage about how to use the attach command
* infcmd.c:
Include objfiles.h
(run_command): If program has already been started, and decide
to restart it, then kill the target, flush the caches,
call init_wait_for_inferior. Also purge old solib objfiles.
* infcmd.c: Changed calls to val_print, using a new macro,
SOLIB_RESTART
(run_command): Calls SOLIB_RESTART
(do_registers_info): Changed calls to val_print
* infcmd.c: Made the symfile.h include preceed the
objfiles.h include. The other ordering caused a
compile problem (incompletely defined types).
* inferior.h (REQUIRE_DETACH): Fix default definition.
* inftarg.c (child_post_attach): Fix declaration, make static.
(proc_wait): Make globally visible.
(child_insert_fork_catchpoint, etc): Fix return type.
* inferior.h (STARTUP_WITH_SHELL): New define.
(START_INFERIOR_TRAPS_EXPECTED): New define
* inferior.h (fork_inferior): Change fifth parameter to be a function
returning void.
* inferior.h (proc_wait): Declare.
* inferior.h:
(Require_ATTACH): New macro
(REQUIRE_DETACH): New macro
(detach): Definition is now an extern
(clone_and_follow_inferior): New definition, it's also an extern
* inferior.h:
(Require_attach): Default definition for require_attach funct
(require_detach): Default definition for require_detach funct
(pre_fork_inferior): New funct decl for function defined in
infptrace.c
(fork_inferior): New parameter in funct decl.
* inferior.h:
New variable decls: Inferior_ignoring_startup_exec_events,
inferior_ignoring_leading_exec_events -- these variables
are used when processing an exec call.
(CALL_DUMMY_HAS_COMPLETED): New default macro -- for targets
where PC in call dummy implies that call dummy has
completed. Note, that on HPUX this inference does not hold.
* infptrace.c
(require_notification_of_events): New function
(child_acknowledge_created_inferior): Previously named
hppa_acknowledge_forked_child. Also calling
require_notification_of_events and clearing some semaphore
variables
(child_post_startup_inferior): New function
(child_create_catch_fork_hook): Previously named
hppa_create_catch_fork_hook
(child_create_catch_vfork_hook): Previously named
hppa_create_catch_vfork_hook
(child_has_forked): Previously named hppa_target_has_forked
(child_has_vforked): Previously named hppa_target_has_vforked
(process_wait): Changed to call target_post_wait
(attach): Add call to require_notification_of_events
(child_pid_to_exec_file): New function
(hppa_require_attach): New local variable, pt_status
(hppa_get_process_events): New function
* infptrace.c (call_ptrace): Simplify control flow.
(proc_wait): Move here from inftarg.c, add target_post_wait call.
* infptrace.c (call_ptrace): Add some debugging code.
* infptrace.c (child_pid_to_exec_file): Declare variable.
* infptrace.c (kill_inferior): Clean up call to proc_wait.
* infptrace.c:
(Call_ptrace): When the ptrace request is PT_SETTRC,
call ptrace and then call parent_attach_all.
* infptrace.c:
(Child_has_syscall_event): New function. only applicable
(for now) on HPUX 10.30 and beyond via the ttrace call.
In infptrace.c there is a default operation.
With ttrace, it is possible to tell the kernel to
notify the debugger that the target program is about to make
or return from a syscall.
(child_thread_alive): New function. a default function.
ptrace doesn't support kernel threads.
(hppa_enable_page_protection_events): Defualt function
(hppa_disable_page_protection_events): Default function
* infptrace.c (child_pid_to_exec_file): Fix number of params to
cal_ptrace call.
* infptrace.c (hppa_pid_or_tid_to_str): New function.
(hppa_switched_threads): New function.
(hppa_ensure_vforking_parent_remains_stopped): New function.
(hppa_resume_execd_vforking_child_to_get_parent_vfork): New function.
* infptrace.c: Most of the changes found in infptrace.c should
be moved to hppah-nat.c
(PT_VERSION): A new define
(startup_semaphore_t): A new struct type. it is used to
coordinate the parent and child processes after a fork and
before an exec on HPUX.
(call_ptrace): Changes to determine whether the ptrace
request is for starting the tracing of the target process.
(parent_attach_all): New funct. used on HPUX for coordinating
the parent and child processes after a fork and before and exec.
(hppa_acknowledge_forked_child): New funct. prabably belongs
in hppah-nat.c
(hppa_enable_catch_fork): New funct. probably belongs in
hppah-nat.c
(hppa_disable_catch_fork): New funct. probably belongs in
hppah-nat.c
(hppa_create_catch_fork_hook): New funct. probably belongs in
hppah-nat.c
(hppa_enable_catch_vfork): New funct. probably belongs in
hppah-nat.c
(hppa_disable_catch_vfork): New funct. probably belongs in
hppah-nat.c
(hppa_create_catch_vfork_hook): New funct. probably belongs to
hppah-nat.c
(hppa_target_has_forked): New funct. probably belongs in
hppah-nat.c
(hppa_target_has_vforked): New funct. probably belongs in
hppah-nat.c
(process_wait): New funct. also ifdefed for proc_wait.
(kill_inferior): Call proc_wait rather than wait. this is
pretty hacky.
(pre_fork_inferior): New function. used only by HPUX.
probably should be defined elsewhere.
* infrun.c (follow_inferior_fork): Only define on HP.
(wait_for_inferior): Only call SOLIB_IN_DYNAMIC_LINKER if we have
shared libraries; restore test of IN_SOLIB_DYNSYM_RESOLVE_CODE
removed by HP.
* infrun.c (normal_stop): Add a call to the TUIDO
macro just before the annotate_stopped label. This
updates the windows after each program stop.
* infrun.c (normal_stop): Verify stop_command is non-zero before
dereferencing it (it won't be set if dbx_commands is set).
* infrun.c (resume): Add #ifdef HPPAHPUX around HPUX-specific
code.
* infrun.c (resume): Add missing semicolon.
* infrun.c (wait_for_inferior): Fix syntax error.
* infrun.c (follow_fork_mode_kind_names): Removed "both" option.
(follow_fork): Added parameters. additional code for handling
following of parent, following of child
(resume): Added code for deciding how to resume in presence of
fork. Additional params to follow_fork call.
* infrun.c (follow_exec): Ifdef for HPUXHPPA for the moment, the
code in here assumes the existance of the child_ops target
vector. This is incorrect for Solaris.
* infrun.c (resume): Fixed ifdefs, HPPAHPUX -> HPUXHPPA.
* infrun.c (wait_for_inferior): Fixed a matching parens problem --
matching curly brace inside ifdefed code which is not being
compiled. Change local validFlag to be an 'int' rather than a
'bool' and fixed the corresponding assignment statements.
* infrun.c:
Two new global variables: Inferior_ignoring_startup_exec_events and
inferior_ignoring_leading_exec_events.
New static variables: Parent_of_vfork_trap_expected_and_ignorable,
step_resume_breakpoint, through_sigtramp_breakpoint, pending_follow,
follow_vfork_when_exec
(follow_inferior_fork): Does what follow_fork did!
(follow_fork): Is now a wrapper function for follow_inferior_fork
(follow_vfork): Is now a wrapper function for follow_inferior_fork
(follow_exec): New function, handles an exec event.
(resume): Remove 3 local variables: Child_pid, has_forked, has_vforked.
move and expand code that tries to follow a fork (i.e. also check
for vfork and exec
(init_wait_for_inferior): Initialize the new structure, pending_follow
(delete_breakpoint_current_contents): When deleting all the breakpoints also
set the breakpoint struct pointer to NULL.
(wait_for_inferior): A number of changes.
The step_resume_breakpoint and through_sigtramp_breakpoint local
variables are now visible in entire module.
Changed name of variable from child_inferior_pid to saved_inferior_pid.
Added several cases to the event processing switch statement:
Target_WAITKIND_FORKED, TARGET_WAITKIND_VFORKED, TARGET_WAITKIND_EXECD.
Also, for TARGET_WAITKIND_STOPPED, check to see if expecting a trap
from the parent of a vfork (ignorable) otherwise break as usual.
When determining the value of 'random_signal' (0 or 1), no longer check for
catchpoints.
When determining how to handle unexpected signals, must now take into
account fork, vfork, and exec.
Change call to PC_IN_CALL_DUMMY to a call to CALL_DUMMY_HAS_COMPLETED
At stop_stepping label, check to see if stopped for fork or
vfork event.
* infrun.c: New code is related to threads and fork/vfork/exec.
New static variable: Thread_step_needed
Deleted static variable: Parent_of_vfork_trap_expected_and_ignorable
Altered the pending_follow and fork_event structs
(follow_inferior_fork): Before detaching from child and removing
all breakpoints form it -- but only if forking or following
vforks as soon as they happen. Also reset the solib inferior hook.
The same kind of logic applies to hitting step_resume_breakpoints
(calling breakpoint_re_set_thread) and to resetting and inserting
breakpoints.
(follow_exec): Forward decl
(follow_vfork): Check to see if gdb followed the child. If
the child exec'd before gdb saw the parent's vfork event
then call follow_exec.
(follow_exec): If the exec occured after a vfork, then follow
the vfork as well. Do it before following the exec.
Make sure to update breakpoints after and exec
(resume): New local variable, should_resume.
Change parameters in calls to follow_fork, follow_vfork, and
follow_exec. Some changes to the way various pending_follow.kind
situations are handled (there's TARGET_WAITKIND_FORKED,
TARGET_WAITKIND_VFORKED, ARGET_WAITKIND_EXECD. Some additional
conditions to check before deciding to resume the target (i.e.
should_resume=1, stepping?, thread_step_needed?i, regular
resume?)
(proceed): When proceeded at location that does not have a breakpoint
set thread_step_needed=0 to indicate that it is not necessary to
single step thread over breakpoint. SOme additional checks to see
if it is necessary to step thread over breakpoint.
(start_remote): Remove call to clear_proceed_status.
(init_wait_for_inferior): Initialize new fields in fork_event
structure and add a call to clear_proceed_status.
(wait_for_inferior): New local variable: New_thread_event.
Initialize thread_step_needed = 0.
Minor massaging of conditions for adding a new thread to the thread list.
No longer resuming execution after adding a new thread. Let user play with thread first.
Some changes in the way TARGET_WAITKIND_FORKED, ARGET_WAITKIND_VFORKED,
TARGET_WAITKIND_EXECD are handled -- this is all HPUX related.
Simplified TARGET_WAITKIND_STOPPED -- HP previously had some
more complicated code in here.
Moved the code to resume threads to after the large case statement that processes the events.
Additional processing for stop_signal=TARGET_SIGNAL_TRAP.
Cleanup code at process_event_stop_test label.
Set thread_step_needed when processing a BPSTAT_WHAT_SINGLE.
Minor massaging of fork/vfork/exec part of stop_stepping code.
(normal_stop): Minor changes. calling show_and_print_stack_frame.
(xdb_handle_command): New function
(_initialize_infrun): Handle xdb_commands. also handle dbx commands
* infrun.c: Changes to support following forks, and handling
catchpoints.
(follow_fork_mode_kind_names): New array
(follow_fork): New function. implements the follow parent,
or child functionality.
(resume): Additions to check whether the target process
just forked and decide which process to follow.
(wait_for_inferior): Additional variables (child_inferior_pid,
stepping_through_solib_after_catch,
- stepping_through_solib_catchpoints.
- Altered CURRENTLY_STEPPING macro to check for stepping through
a shared library after hitting a catchpoint.
- Add parameters to save_infrun_state call
- Check for fork and vfork when deciding if event is a random
signal
- When considering stops due to breakpoints, check for
BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK
- Check for stop due to an explicit catchpoint
- When checking for single stepping event, also check for
stepping to get out of dynamic linker's hook after catching
a shlib event
(is_internal_shlib_eventpoint): New funct. check to see if
event type is bp_shlib_event.
(stopped_for_internal_shlib_event): New funct. check for shlib
events
(stopped_for_shlib_catchpoint): New funct. check for catchpoints.
(normal_stop): Additions to check for shlib event
(set_follow_fork_mode_command): New funct. handles the new follow
fork command.
(_initialize_infrun): Additions for follow-fork-mode command.
* infrun.c: Ifdefing references to
switched_from_inferior_pid for HPUXHPPA. They don't seem
useful for Solaris (i.e. non-HPUX)
* infrun.c: Included tuiData.h and tuiDataWin.h, ifdefed for TUI.
Included top.h. New static variables: Switched_from_inferior_pid,
number_of_threads_in_syscalls.
(follow_inferior_fork): If there is a step_resume breakpoint
explicitly reset the thread number.
(resume): For TARGET_WAITKIND_VFORKED, removed a check for getting
the vfork event to soon.
(init_wait_for_inferior): Added parameter to call to
breakpoint_init_inferior. Initialize number_of_threads_in_syscalls.
(wait_for_inferior): New local variables: Prev_sal,
enable_hw_watchpoints_after_wait, stepping_through_sigtramp,
stepped_after_stopped_by_watchpoint. Enable watchpoints after a wait.
Added cases for TARGET_WAITKIND_SYSCALL_ENTRY and
TARGET_WAITKIND_SYSCALL_RETURN.
Do additional processing if stop due to breakpoint, but breakpoint is
only valid for a thread other than the one currently running. Additional
parameters to save_infrun_state and load_infrun_state. Some additional
processing for BPSTAT_WHAT_STEP_RESUME. Some additional processing to
handle stepping over a function.
(normal_stop): Added notification of switching threads. ifdefing some
TUI changes and leaving out non-essential TUI changes.
(restore_selected_frame): Ifdefing some TUI changes
(restore_inferior_status): Ifdefing some TUI changes
* infrun.c: Removed the TUI ifdefs and TUI code. Also removed
include for top.h. HP introduced this. I'm taking it out.
* inftarg.c (child_detach_from_process): Declare.
(child_attach_to_process): Declare.
(child_stop): Make static to match declaration.
* inftarg.c (ptrace_him): Change prototype back to return int.
* inftarg.c (ptrace_me): Remove debug output, pass NULL to
fork_inferior if not HPUX.
* inftarg.c:
(child_require_attach): New funct prototype and definition
(child_require_detach): New funct prototype and definition
(proc_wait): Funct prototype and definition are enclosed by
proc_wait ifndef
(child_attach_to_process): New function, does most of the
work that child_attach used to do and some additional
work to determine whether gdb is already attached to the
target how to react.
(child_attach): Altered. It's now a wrapper for
child_attach_to_process.
(child_require_attach): New function, called if should attach
even when gdb is already attached to target.
(child_detach_from_process): New function, does most of the
work that child_detach used to do and some additional work
to determine whether gdb is currently attached to the target.
(child_detach): Altered. It's now a wrapper for
child_detach_from_process.
(child_require_detach): New function, called if should try to
detach even when gdb is not attached to target.
(ptrace_him): Calls a new function, target_acknowledge_forked_child.
Currently, target_acknowledge_forked_child, is only defined to
do something for HPUX.
(child_create_inferior): Changed call to fork_inferior.
(child_ops): Added to_require_attach and to_require_detach fields
to the child_ops target ops vector.
* inftarg.c:
Some hacks for ttrace work
(child_wait): Additional local variables, additional code in
while loop to check for: Process exited, process forked,
process vforked, process execd
(child_thread_alive): John B. seems to think that the kill
call is inapproapriate for HPUX.
(child_attach_to_process): Using strtol rather than atoi.
no longer check for case where there is no known exec file.
(child_post_attach): New function, a default, a no-op
(child_insert_fork_catchpoint): New function, a default, a no-op
(child_remove_fork_catchpoint): New function, a default, a no-op
(child_create_catch_fork_hook): Deleted
(child_create_catch_vfork_hook): Deleted
(child_insert_vfork_catchpoint): New function, a default, a no-op
(child_remove_vfork_catchpoint): New function, a default, a no-op
(child_can_follow_vfork_prior_to_exec ):new function, a default,
a no-op
(child_insert_exec_catchpoint): New function, a default, a no-op
(child_remove_exec_catchpoint): New function, a default, a no-op
(child_has_execd): New function, a default, returns 0
(child_reported_exec_events_per_exec_call): New function, a
default, returns 1
(child_has_exited): New function, a default.
(child_core_file_to_sym_file): New function, a default, returns NULL.
(child_ops): Initialize new target_ops vector fields to the
child* functions.
* infptrace.c:
(Call_ptrace): For HPUX, handle additional requests: Pt_CONTIN1,
PT_STEP1.
(require_notification_of_events): Add several signals to the
set of events requiring notification: Ptrace_SIGNAL,
PTRACE_EXEC, PTRACE_FORK, PTRACE_VFORK
(child_acknowledge_created_inferior): This function is only
defined if CHILD_ACKNOWLEDGE_CREATED_INFERIOR is defined.
(child_post_startup_inferior): Function is only defined if
CHILD_POST_STARTUP_INFERIOR is defiend. Also, now call
require_notification_of_events.
(child_create_catch_fork_hook): Deleted
(child_create_catch_vfork_hook): Deleted
(child_insert_fork_catchpoint): New function
(child_remove_fork_catchpoint): New function
(child_insert_vfork_catchpoint): New function
(child_remove_vfork_catchpoint): New function
(child_has_forked): Now enclosed by a CHILD_HAS_FORKED ifdef
(child_has_vforked): Now enclosed by CHILD_HAS_VFORKED ifdef
(child_can_follow_vfork_prior_to_exec): New function
(child_insert_exec_catchpoint): New function
(attach): Removed call to require_notification_of_events
(child_post_attach): New function, call to
require_notification_of_events moved here.
(child_pid_to_exec_file): New enclosed by CHILD_PID_TO_EXEC_FILE ifdef
introduced the concept of a saved_inferior_pid
(hppa_require_attach): Add some code to decide if gdb is already
attached to process. Can not figure this out via a ptrace call.
(hppa_insert_hw_watchpoint): New function
(hppa_remove_hw_watchpoint): New function
* inftarg.c:
(child_attach_to_process): Change position in file
(child_detach_from_process): Change position in file
* inftarg.c:
(child_attach_to_process): Changed parameter to child_wait call
* inftarg.c:
(child_post_wait): New function declaration and definition
(ptrace_him):
- change return value to a void.
- change target_acknowledge_forked_child call to
target_acknowledge_created_inferior
- call target_post_startup_inferior rather than returning pid.
(child_attach_to_process): Change param name, fail_if_already_attached
-> after_fork.
Invert a couple of if-then-else statments.
Use REQUIRE_ATTACH macro
(child_attach): Change params in child_attach_to_process call
(child_require_attach): Change params in child_attach_to_process call
(child_detach_to_process): Change param name,
fail_if_already_attached -> after_fork.
Invert a couple of if-then-else statments.
Use REQUIRE_DETACH macro
(child_detach): Change params in child_detach_from_process call
(child_require_detach): Change params in child_detach_from_process
call
(child_post_startup_inferior): New function
(child_acknowledge_created_inferior): New function
(child_clone_and_follow_inferior): New function
(child_post_follow_inferior_by_clone): New function
(child_create_catch_fork_hook): New function
(child_create_catch_vfork_hook): New function
(child_has_forked): New function
(child_has_vforked): New function
(child_post_follow_vfork): New function
(child_stop): No longer a static function
(child_pid_to_exec_file): New function
* inftarg.c:
(child_wait): Child_pid becomes related pid. return pid
rather than inferior_pid. Changes are in code handling fork
and vfork
* inftarg.c:
Include gdb_stat.h and sys/unistd.h
(child_wait): New local variables. Check for live threads.
Check for syscall events
(child_thread_alive): No longer a static funct.
(ptrace_him): Remove some code inserted in snap3
(child_create_inferior): Added a bunch of code to handle a
bad interaction between start-up-with-shell and the HP
catch-fork/catch-exec logic. I am ifdefing this for
HPUXHPPA for now.
(child_has_syscall_event): New default target_ops function
(child_enable_exception_callback): New default target_ops function
(child_get_current_exception_event): New default target_ops function
(child_ops): 3 new fields
* inftarg.c: Remove HPUX_SNAP1 and HPUX_SNAP2 ifdefs
* inftarg.c: Reverted previous change.
* infttrace.c (hppa_remove_hw_watchpoint): Fix check for write
access hardware watchpoint.
* infttrace.c (proc_wait): Rename from proc_wait.
* infttrace.c (require_notification_of_exec_events): New function;
just notify of exec events, not all events, and just the specified
pid, don't include it's children.
(child_acknowledge_created_inferior): Call new function
require_notification_of_exec_events instead of
require_notification_of_events.
(child_post_startup_inferior): Call require_notification_of_events
* infttrace.c: Changed all references to boolean to int.
Changed all references to TRUE and FALSE to 1 and 0.
* irix5-nat.c (symbol_add_stub): Add params to call to
symbol_file_add.
* jv-lang.c (get_dynamics_objfile): Add 2 more parameters to call
to allocate_objfile.
* main.c (fputs_unfiltered): Changes to prevent cursor form
jumping around in the TUI. Altered where tuiTermUnsetup and
tuiTermSetup are called
* main.c (fputs_unfiltered): Changed function so that it
checks to see if output is to a string buffer or to a
FILE stream and does the correct action (i.e. strcat or
fputs). Fixed params for fputs call.
* main.c (fputs_unfiltered): Don't try to call the TUI's
CommandCharCount functions when the TUI isn't enabled.
* main.c (fputs_unfiltered): Change FILE to GDB_FILE.
* main.c (main): If the user gives the --version or --help flags,
disable the TUI.
* main.c (tui_version, xdb_commands, dbx_commands): New variables.
(main): New command line arguments --tui, --xdb, --dbx; add call
to tyiCleanUp via tuiDo to main loop.
(fputs_unfiltered): Tui related changes.
* main.c: Define 2 new global variables, gdb_stdout and gdb_stderr
of type GDB_FILE.
(main): Allocate space for and initialize gdb_stdout and gdb_stdin.
* objfiles.c (find_pc_sect_section): Make end condition be less
than s->endaddr, not less than or equal to s->endaddr.
* objfiles.c:
(allocate_objfile): 2 new parameters: User_loaded and is_solib.
When appropriate, record in the object file that it is user loaded.
The run command can use this information to purge object file
entries associated with the old inferior and keep user loaded
object files loaded via the add-symbol-file command.
(objfile_purge_solibs): New function. deletes all objectfile entries
that are not explicitly loaded by the user.
* objfiles.c:
(objfile_relocate): Check for LOC_INDIRECT
(find_pc_sect_section): Change condition from
pc < s->endaddr to pc <= s->endaddr
* objfiles.h:
New variables: User_loaded and is_solib
(OBJF_SHARED): New macro. used to distinguish objfile for
shared library from "vanilla" objfile.
(allocate_objfile): Add new parameters to function decl.
(objfile_purge_solibs): New function decl.
* objfiles.h: Add some typedefs: Importentry, ExportEntry.
Add some new variables: Import_list, import_list_size,
export_list, export_list_size
* osfsolib.c:
(symbol_add_stub): Added params to call to symbol_file_add
* pa/hpux1020.mh (NATDEPFILES): Add corelow.o, symbol table and
solib files.
* pa/hpux1100.mh (NAT_FILE): Use nm-hppah11.h.
(NATDEPFILES): Add symbol table and solib files.
* pa/nm-hppah11.h: New file, HPUX11-only definitions.
* pa/tm-hppa.h (proc_wait): Remove decl and macro.
* parse.c (write_dollar_variable): Handle cases in which variables
besides the debugger ones start with $ and $$.
(parse_nested_classes_for_hpacc): New function. Parse a string that
is possibly a namespace / nested class specification.
(find_template_name_end): New function.
* procfs.c:
(procfs_init_inferior): Return value is now a void.
* procfs.c (procfs_ops): Initializing new target ops vector fields. see list below.
* procfs.c:
(procfs_ops): Adding new target_ops vector fields and
removing a few. see list below
* procfs.c: Added new fields to procfs_ops.
Necessary since we still have oldstyle initialization in
this file
* pyr-tdep.c (pyr_do_registers_info): Change stdout to gdb_stdout.
(frame_locals_address): Change stderr to gdb_stderr.
(frame_args_addr): Ditto.
* pyr-xdep.c (fetch_inferior_registers): Change stderr to
gdb_stderr.
* serial.c (serial_close): Call gdb_fclose, not fclose on a
GDB_FILE.
* serial.c (serial_logchar): Change chtype to ch_type. sigh.
* solib.c (look_for_base): The parameter to file must be
of type FILE *. So cast exec_bfd -> iostream in the call
to fileno as a FILE *, not a GDB_FILE *. This will work because
exec_bfd -> iostream is declared and given a value in bdf and
bfd will continue to use FILE rather than GDB_FILE.
* solib.c:
(solib_add): Remove references to exec_ops.
* solib.c:
(solib_add): Update exec_ops.to_sections
* solib.c:
(symbol_add_stub): Added params to call to symbol_file_add
* solib.h:
(SOLIB_REMOVE_INFERIOR_HOOK): New macro. defined to 0.
functionality not implemented for this target.
* solib.h: Added macro definitions. These macros generate
error messages for solaris??
(SOLIB_CREATE_CATCH_LOAD_HOOK)
(SOLIB_CREATE_CATCH_UNLOAD_HOOK)
(SOLIB_HAVE_LOAD_EVENT)
(SOLIB_LOADED_LIBRARY_PATHNAME)
(SOLIB_HAVE_UNLOAD_EVENT)
(SOLIB_UNLOADED_LIBRARY_PATHNAME)
(SOLIB_IN_DYNAMIC_LINKER)
(SOLIB_RESTART)
* somread.c (is_in_import_list): Ditto.
* somread.c (som_symfile_read): Added some comments
* somread.c (som_symfile_read): Read in import and export lists.
(som_symtab_read): Change test for dynamic executable.
(is_in_import_list): New function. Check if a given symbol name
is in the import list.
(init_import_symbols): New function. Read in and initialize the
som import list.
(init_export_symbols): New function. Read in and initialize the
som export list.
* somread.c:
(som_symfile_read): Fix missing comment delimiters
* somsolib.c (DLD_FLAGS_MAPPRIVATE): New macro.
Define bit of __dld_flags in HP-UX a.out files.
(DLD_FLAGS_HOOKVALID): Ditto.
(DLD_FLAGS_LISTVALID): Ditto.
(DLD_FLAGS_BOR_ENABLE): Ditto.
(som_solib_total_st_size): Cumulative size in bytes of the
symbol tables of all shared objects on the so_list_head list.
(som_solib_st_size_threshhold_exceeded): Threshold for adding symbols
for shlibs.
(som_solib_sizeof_symbol_table): New function. Computes size of
symbol table for a shlib.
(som_solib_load_symbols): New function. Load symbols from shlib.
(som_solib_add): Detect if __dld_list is not valid.
Record main program's symbol table size.
Load symbols if called from command line.
Keep threshold into account when loading shlib symbols.
(som_solib_create_inferior_hook): Use dld_flags macros.
(som_sharedlibrary_info_command): Let user know if symbols were
not loaded.
(som_solib_restart): Discard all the shlibs descriptors.
(_initialize_som_solib): Chenge help message for auto-solib-add
command.
Set threshold for symbol table to 50 megabytes.
* somsolib.c (_initialize_som_solib): Added call to som_solib_restart.
(som_solib_restart): New function
(som_solib_in_dynamic_linker): New function
(som_solib_desire_dynamic_linker_symbols): New function
(som_solib_unloaded_library_pathname): New function
(som_solib_loaded_library_pathname): New function
(som_solib_library_pathname): New function
(som_solib_have_unload_event): New function
(som_solib_have_load_event): New function
(som_solib_create_catch_unload_hook): New function
(som_solib_create_catch_load_hook): New function
(som_solib_create_inferior_hook): Rewritten
dld_cache: New struct
addr_and_unwind_t: New struct
(find_unwind_entry) added prototype
* somsolib.c (som_solib_create_inferior_hook): Introduce new local
msymbol2 and change some msymbol's to msymbol2's -- was clobbering
msymbol, passing a NULL to lookup_minimal_symbol_solib_trampoline,
and ultimately core dumping with a SEGV.
* somsolib.c:
Include assert.h
(som_solib_mapped_entry): Additional comments for text_addr,
text_link_addr, text_end, and tsd_start_addr fields. Commenting
out 2 tsd fields, __data_start and __data_end.
(som_solib_add_solib_objfile): Add params to calls to symbol_file_add.
Add some code for distinguishing between a shared library and other
objfiles. This appears to be a prelude to thread local storage.
(som_solib_load_symbols): Changes to printf statement
enclosed by SOLIB_DEBUG ifdef.
(som_solib_add): Change comment to correctly specify path
to end.o -- /opt/langtools/lib/end.o. changes to printf statement
enclosed by SOLIB_DEBUG ifdef.
Removed several SOLIB_DEBUG ifdefs and the associated printfs.
Add code to find the start address for the object file's thread
local storage
(som_solib_create_inferior_hook): Fix warning messages use correct
path to end.o -- /opt/langtools/lib/end.o. Change control flow.
No longer user early returns from function is cases of error.
(reset_inferior_pid): New function
(som_solib_remove_inferior_hook): New function
(so_lib_thread_start_addr): New function. used for tsd.
* somsolib.c: Removed references to ASSERT macro.
* somsolib.c: Add debugging macro.
(struct som_solib_mapped_entry): Add new field tsd_start_addr.
(struct so_list): Added new field solib_addr.
(som_solib_add_solib_objfile): New function.
(som_solib_load_symbols): Rewritten.
(som_solib_add): Make sure we don't load the symbols in if the
threshold was exceeded.
(som_solib_get_solib_by_pc): New function. Return the address of
handle of the shared library.
(som_solib_restart): Disable breakpoints at restart.
(_initialize_som_solib): Set threshold to 100 megabytes.
* somsolib.c: Add include of fcntl.h so that O_RDONLY is defined.
* somsolib.h (DISABLE_UNSETTABLE_BREAK): New macro.
(PC_SOLIB): New macro.
* somsolib.h:
(SOLIB_CREATE_CATCH_LOAD_HOOK): Define
(SOLIB_CREATE_CATCH_UNLOAD_HOOK): Define
(SOLIB_HAVE_LOAD_EVENT): Define
(SOLIB_LOADED_LIBRARY_PATHNAME): Define
(SOLIB_HAVE_UNLOAD_EVENT): Define
(SOLIB_UNLOADED_LIBRARY_PATHNAME): Define
(SOLIB_IN_DYNAMIC_LINKER): Define
(SOLIB_RESTART): Define
* somsolib.h:
(SOLIB_REMOVE_INFERIOR_HOOK): New macro. defined to use
som_solib_remove_inferior_hook.
* somsolib.h:
(som_solib_create_catch_load_hook)
(som_solib_create_catch_unload_hook)
(som_solib_have_load_event)
(som_solib_loaded_library_pathname)
(som_solib_have_unload_event)
(som_solib_unloaded_library_pathname)
(som_solib_in_dynamic_linker)
Fix prototypes to use type names, not parameter names.
* source.c (find_source_lines): Make non static.
(open_source_file): Ditto.
(source_full_path_of): New function.
(print_source_lines): Rename to print_source_lines_base and make
static; formatting.
(print_source_lines): New function.
(forward_search_command): Tui changes.
(reverse_search_command): Tui changes.
(_initialize_source): Add xdb and dbx compatibility commands.
* source.c (list_command): Handle case of odd number of source
lines to display.
* source.c:
(source_full_path_of): New function. file was overlooked
in merge ;-/.
* stack.c (func_command): Make high bound be <, not <=.
* stack.c (_initialize_stack): For the backtrace command, delete
the help line about usage, since this has to be a valid help
message for the 'where' command too.
* stack.c (current_frame_command): Add a check for the
existance of a stack. If there is no stack produce an
error message and exit.
* stack.c (down_silently_base, up_silently_base,
args_plus_locals_info, print_frame_info_base,
print_stack_frame_base, print_stack_frame_base_stub): Declare.
(print_frame_local_vars): Add'l parameter.
(print_stack_frame_stub): New version created, old version renamed
to show_and_print_stack_frame_base_stub.
(print_stack_frame_base_stub, print_only_stack_frame_stub,
show_and_print_stack_frame, print_only_stack_frame,
stack_publish_stopped_with_no_frame, print_frame_info,
show_stack_frame, backtrace_full_command, args_plus_locals_info,
select_and_print_frame, select_and_maybe_print_frame,
current_frame_command, func_command): New functions.
(backtrace_command): New function, old renamed to
backtrace_command_1.
(print_block_frame_locals, print_frame_local_vars): Additional
parameter, number of tabs.
(up_silently_command): New function, old renamed to
up_silently_command_base.
(down_silently_command): New function, old renamed to
down_silently_base.
(_initialize_stack): Register new commands based on values of
xdb_commands and dbx_commands variables.
* stack.c (func_command): Make high bound be <, not <=.
* stack.c (parse_frame_specification): Fix prototype to match
function definition.
(show_and_print_stack_frame_stub): Fix name.
(select_and_print_frame): Change uncaught tuiDO call.
* stack.c (up_silent_base): Rename from up_silently_command_base.
* symfile.c (symbol_file_command): Only call SOLIB_RESTART if it's
defined.
* symfile.c (add_psymbol_with_dem_name_to_list): New function.
Adds a symbol with a long value to a psymtab. Differs from
add_psymbol_to_list in taking both a mangled and a demangled name.
* symfile.c (compare_psymbols): Call strcmp directly, instead of
using macro.
* symfile.c (symbol_file_add): Reindent portions.
(symbol_file_command): Add call to tuiDo.
* symfile.c (symbol_file_command): Only call SOLIB_RESTART if it's
defined.
* symfile.c (symfile_bfd_open): Add code to call PXDB on hpux, if
the file has not already been processed by pxdb.
Added define USE_PXDB.
* symfile.c (symfile_bfd_open): Change parenthesis positioning
around call to hpread_pxdb_check.
* symfile.c (symfile_bfd_open): Make not static.
(RESET_HP_UX_GLOBALS): New macro. Resets globals when new symbol
file loaded.
(USE_PXDB): Not needed. Removed.
(symbol_file_add): Add HP specific code to deal with pxdb.
(symbol_file_command): Reset HP specific globals if new symbol file
loaded.
(symfile_bfd_open): Comment out checking for pxdb.
(reread_symbols): Reset HP specific globals.
* symfile.c (symfile_bfd_open): Uncomment hpus specific code.
* symfile.c:
(symbol_file_add): Add user_loaded and is_solib parameters.
fixed number of parameters in call to allocate_objfile
(symbol_file_command): Added call to SOLIB_RESTART macro.
fixed number of parameters in calls to symbol_file_add.
(add_symbol_file_command): Fixed number of parameters in calls to
symbol_file_add.
* symfile.c: Added prototype for hpread_pxdb_check.
* symfile.c: Changed HPUX_SNAP1 ifdef to HPUXHPPA. enclosed calls to
RESET_HP_UX_GLOBALS with an HPUXHPPA ifdef
* symfile.h (symfile_bfd_open): Add protptype.
* symfile.h: Add prototype for add_psymbol_with_dem_name_to_list.
* symfile.h: Clarify purpose of auto_solib_add.
* symmisc.c (maintenance_print_symbols): Call gdb_fclose, not
fclose on a GDB_FILE* during cleanup.
(maintenance_print_psymbols): Call gdb_fclose, not fclose on a
GDB_FILE* during cleanup.
(maintenance_print_msymbols): Call gdb_fclose, not fclose on a
GDB_FILE* during cleanup.
* symmisc.c (maintenance_print_symbols): Gdb_fclose now takes a
GDB_FILE ** parameter. Fix the local GDB_FILE variables and the
call to make_cleanup.
(maintenance_print_psymbols): Ditto
(maintenance_print_msymbols): Ditto
* symmisc.c (print_objfile_statistics): Close quotes in
output strings.
* symmisc.c:
(Print_symbol): Add LOC_INDIRECT to switch statement
(print_partial_symbols): Add LOC_INDIRECT to switch statement
* symtab.c (find_pc_sect_psymtab): High bounds should be <, not <=.
(find_pc_sect_symtab): Ditto.
* symtab.c (hp_som_som_object_present): New flag to indicate HP
compiled code.
(find_pc_sect_psymtab): Change tests to make sure we are checking
the texthigh adress as well.
(lookup_transparent_type): New function. Look up a type name
in the struct_namespace. The type returned must not be opaque.
(find_pc_sect_symtab): Make sure we check the address 'pc' itself,
too.
(find_addr_symbol): Prepare to handle LOC_INDIRECT address class, but
leave it commented out.
(find_pc_sect_line): Return correct information if pc is in import
or export stub (trampoline).
(decode_line_1): Skip two chars, if they are '$$'. Like for HP's
$$dyncall. Handle cases in which varaible and function names can start
with $.
(overload_list_add_symbol): If cannot demangle name, use it as is.
Free string after use.
(make_symbol_overload_list): Initialize oload_name to NULL and
oload_name_len to 0. If demangle not successful, use name as it is.
Free string after use.
* symtab.c (lookup_symbol): Changed call to find_pc_sect_symtab,
to the original find_pc_symtab, in HP added fragment.
* symtab.c (lookup_symbol): Change HPUX_SNAP1 ifdef to a HPUXHPPA ifdef
* symtab.c (lookup_symbol): Ifdef the searching of symbol in the
minimal symbol tables, for hpux we move this check at the end
of the function.
Before we error out if symbol is not found in the symtab, look
in the statics.
Before erroring out if static symbol not found look in the globals.
* symtab.c (lookup_symbol): Return symbol as soon as found.
(decode_line_1): Check whether we have a conditional break. Temporarily
remove it from the line, to not confure perenthesis checking.
Handle namespaces.
(overload_list_add_symbol): New function. Overload
resolution support.
(make_symbol_overload_list): Ditto.
* symtab.c:
(find_template_name_end): New prototype decl.
(lookup_symbol): When a global or static symbol shows up in the
psymtab table, but not the symtab table, tell the user that
the symbol may be an inlined function or a template function and
provide some guidance to the user about how to more fully
specify the symbol.
(lookup_transparent_type): When a global or static symbol shows up
in the psymtab table, but not the symtab table, tell the user that
the symbol may be an inlined function or a template function and
provide some guidance to the user about how to more fully
specify the symbol.
(decode_line_1): Handle template function specification when decoding a
line. May need to be ifdefed for HP's aCC?
(_initialize_symtab): Handle dbx commands.
* symtab.h (address_class): Add new address calss for
LOC_THREAD_LOCAL_STATIC and LOC_INDIRECT.
(lookup_transparent_type): Add prototype.
(exception_event_kind): New enum for exception catchpoints.
(exception_event_record): New structure for exception catchpoints.
(CURRENT_EXCEPTION_KIND): New macro.
(CURRENT_EXCEPTION_CATCH_SAL): New macro.
(CURRENT_EXCEPTION_CATCH_LINE): New macro.
(CURRENT_EXCEPTION_CATCH_FILE): New macro.
(CURRENT_EXCEPTION_CATCH_PC): New macro.
(CURRENT_EXCEPTION_THROW_SAL): New macro.
(CURRENT_EXCEPTION_THROW_LINE): New macro.
(CURRENT_EXCEPTION_THROW_FILE) new macro.:
(Current_EXCEPTION_THROW_PC): New macro.
* symtab.h(make_symbol_overload_list): Add prototype.
* symtab.h:
(symbol_file_add): Add new params to function decl.
* target.c (cleanup_target): Changed casting of default functions for
to_has_forked, to_has_vforked, to_pid_to_exec_file to get rid of
warnings.
* target.c (cleanup_target): Changed the default functions for
to_pid_to_exec_file and to_core_file_to_sym_file
* target.c (cleanup_target): Fixed PARAMS for to_has_syscall_event
* target.c (cleanup_target): Syntax error, mismatched paranthesis.
* target.c:
(Default_clone_and_follow_inferior): New funct prototype declaration
and function definition
(dummy_target): More target_ops vector changes for HPUX
new fields. ifdefed for HPUX_SNAP2. New fields are
to_post_wait, to_post_startup_inferior
to_acknowledge_created_inferior, to_clone_and_follow_inferior,
to_post_follow_inferior_by_clone, to_create_catch_fork_hook,
to_create_catch_vfork_hook, to_has_forked, to_has_vforked,
to_post_follow_vfork, to_pid_to_exec_file
(de_fault): Add new HPUX specific target_ops operations to
the de_fault macro
(INHERIT): Add new HPUX specific target_ops operations to the
INHERIT macro
(find_default_clone_and_follow_inferior): New funct definition
(debug_to_post_wait): New funct
(debug_to_post_startup_inferior): New funct
(debug_to_acknowledge_created_inferior): New funct
(debug_to_clone_and_follow_inferior): New funct
(debug_to_post_follow_inferior_by_clone): New funct
(debug_to_create_catch_fork_hook): New funct
(debug_to_create_catch_vfork_hook): New funct
(debug_to_has_forked): New funct
(debug_to_has_vforked): New funct
(debug_to_post_follow_vfork): New funct
(setup_target_debug): Initialize new target_ops vector fields.
* target.c:
(Cleanup_target): Fixed the return type on a few of the
default function values.
* target.c:
(Dummy_target): Add 3 new fields
(nosupport_runtime): New function, used in cleanup_target
(cleanup_target): Changes in the de_fault macro, both to
accomodate the new target_ops vector fields and to use
more accurate default functions.
(update_current_target): Add new target_ops vector fields to the
INHERIT macro
(generic_mourn_inferior): The call to breakpoint_init_inferior now takes a
parameter
(normal_pid_to_str): Adding a \0 to the end of buf.
(debug_to_has_syscall_event): New func
(debug_to_enable_exception_callback): New func
(debug_to_get_current_exception_event): New func
(setup_target_debug): Initialize the 3 new target_ops vector fields
* target.c:
(Struct signals): Fix message associated with SIGRETRACT.
* target.c:
(Dummy_target): Fix syntax error
(cleanup_target): Changed the default values for the new
target_ops vector fields. HP folks inappropriately set
most of them to noprocess(). They should be a mixture
of ignore() and return_zero().
* target.c:
(Dummy_target): Add new target_ops vector fields and their initializations
(cleanup_target): Added new new target_ops vector fields to the de_fault
macro definition.
(update_current_target): Added new new target_ops vector fields to the INHERIT
macro definition
(return_one): New function, used by the de_fault macro
(debug_to_post_attach): New function
(debug_to_wait): Added new cases: Target_WAITKIND_FORKED, TARGET_WAITKIND_VFORKED,
TARGET_WAITKIND_EXECD
(debug_to_insert_fork_catchpoint): New function
(debug_to_remove_fork_catchpoint): New function
(debug_to_insert_vfork_catchpoint): New function
(debug_to_remove_vfork_catchpoint): New function
(debug_to_can_follow_vfork_prior_to_exec): New function
(debug_to_insert_exec_catchpoint): New function
(debug_to_remove_exec_catchpoint): New function
(debug_to_core_file_to_sym_file): New function
(setup_target_debug): Give new fields in current_target target_ops vector values.
* target.c: Hp merge, 4/15/98 snapshot
There are new target_ops fields that pertain only
to HPUX. All the changes relate to this. First,
new fields are added to the dummy_target target_ops
vector: To_require_attach, to_require_detach.
* target.c: Remove HPUX_SNAP1 and HPUX_SNAP2 ifdefs
* thread.c (info_threads_command): Call print_only_stack_frame
instead of print_stack_frame.
(_initialize_thread): Make t an alias for thread only if
xdb_commands is not set.
* thread.c (thread_command): If no arguments, don't generate an
error, instead tell the user which thread is current.
(info_threads_commands): Don't lose the users position within the
current thread -- remember it and then restore it.
* thread.c:
(struct thread_info): Add stepping_through_sigtramp field
(add_thread): Initialize stepping_through_sigtramp field
(load_infrun_state): Add stepping_through_sigtramp param and
make sure it gets assigned a value.
(save_infrun_state): Add stepping_through_sigtramp param and
make sure that the value gets saved.
(info_threads_command): Ifdefing some local variables and
code for HPUXHPPA. HP folks want print the tid rather than pid?
Also, looks like the HP folks solved the same thread switching
problem that 4.17 solves. Taking 4.17.
(restore_current_thread): Print out the current frame after
switching threads.
(thread_apply_all_command): Ifdefing a print statement for
HPUXHPPA. The HP folks want to print out a tid rather than pid?
(thread_apply_command): Ifdefing a print statement for
HPUXHPPA. The HP folks want to print out a tid rather than pid?
(thread_command): Decided not to take HP change.
* thread.c: Fixing gdb core dump problem causing many testsuite
failures.
(add_thread): Remove call to bpstat_clear, initialize
tp->stepping_through_solib_catchpoints = NULL;
* thread.c: Changes for catchpoints, shared libaries,
(thread_info): Additional fields in the thread_info struct
for stepping_through_solib_after_catch and
stepping_through_solib_catchpoints.
(add_thread): Initialize the new thread_info fields.
(load_infrun_state): Additional parameters for handling
catchpoints and shared libraries.
(save_infrun_state): Additional parameters for handling
catchpoints and shared libraries.
* top.c (command_loop): Initialize space_at_cmd_start to 0.
(set_prompt): New function.
(togglelist, stoplist): New command lists.
(command_loop): Tui changes -- paranoia to make sure
insert mode is off when not editing.
(quit_force): Clean up tui on exit.
(init_main): Make definition of info status command dependent upon
dbx mode not being set.
(fputs_unfiltered_hook): Changed stream parameter from FILE
to GDB_FILE
(flush_hook): Changed stream parameter from FILE to GDB_FILE
* top.h (set_prompt): Declare.
* typeprint.c (whatis_exp): Decide real runtime type. For the vtable
case.
* utils.c (query): Changes to prevent cursor from jumping around in the
TUI. Call tuiBufferGetc explicitly, rather than passing it
into tuiDo. The tuiDo function does some additional work
that is inappropriate when handling queries.
(GDB_FILE_ISATTY): New macro that takes a GDB_FILE param and
determines whether or not it's using a tty.
(gdb_file_isatty); called by the GDB_FILE_ISATTY macro. Does
the actual work
(init_page_info): Call GDB_FILE_ISATTY rather than ISATTY
(print_spaces): Fix parameter to fputc. fix call to
gdb_file_adjust_strbuf.
(gdb_file_init_astring): Fix parameter to xmalloc
(gdb_file_deallocate): New function to deallocate
a GDB_FILE object and possibly a string buffer
(gdb_file_init_astring): Initialize buffer as the empty
string. Indent GNU style.
(gdb_fopen): Gdb_fopen is called if the GDB_FILE object is
actually afile rather than astring. The routine now allocates space
for a GDB_FILE object and initializes its fields in addition to
performing an fopen.
(gdb_flush): Fix the parameter passed into fflush. It's now
stream->ts_filestream.
(gdb_fclose): Pass in an object of type GDB_FILE **. Fix parameter
to fclose. It's now tmpstream->ts_filestream. Make sure to free
the GDB_FILE object and set the GDB_FILE * object to NULL.
(gdb_adjust_strbuf): New function. Determine if the current
ts_strbuf field contains sufficient space to concatenate a string
of length n on the end. If not, then reallocate the ts_strbuf.
(print_spaces): Check to see if the GDB_FILE is afile or
astring. If it is astring, then adjust the size of the ts_strbuf
field and concatenate the correct number of spaces onto the end of
the buffer. Otherwise continue to use fputc.
(gdb_file_get_strbuf): New function. return a ptr to the ts_strbuf
field in a GDB_FILE object.
(gdb_file_init_astring): New function to allocate space for and
initialize a GDB_FILE object when it is an astring.
(set_width): Declare it.
(pagination_enabled): Define it.
(query): Tui changes.
(init_page_info, set_width): New functions.
(set_width_command): Call set_width.
(_initialize_utils): Replace termcap stuff with call to
init_page_info; if xdb_commands set, define am and sm commands;
define pagination as a set/show command.
(vfprintf_maybe_filtered): Change FILE to GDB_FILE.
(fputs_maybe_filtered): Ditto.
(print_spaces): Ditto.
(gdb_printchar): Ditto.
(gdb_flush): Ditto.
(fputs_filtered): Ditto.
(vfprintf_filtered): Ditto.
(vfprintf_unfiltered): Ditto.
(fprintf_filtered): Ditto.
(fprintf_unfiltered): Ditto.
(fprintfi_filtered): Ditto.
(print_spaces_filtered): Ditto.
(fprintf_symbol_filtered): Ditto.
(gdb_fclose): New function.
* valops.c (call_function_by_hand): Assign to param_type only
if function has parameters.
* valops.c (call_function_by_hand): Ifdef the
HP_COMPILED_TARGET stuff.
(value_arg_coerce): Ditto.
* valops.c (call_function_by_hand): Make sure param_type is
initialized to NULL.
* valops.c (find_rt_vbase_offset): Add parameter to value_at.
(value_rtti_type): Ditto.
(value_full_object): Ditto.
* valops.c (search_struct_field_aux): Fixed mismatching parenths
* valops.c (search_struct_field_aux): Make sure TYPE_TAG_NAME
is not null before copying it.
* valops.c (search_struct_field_aux): Set found_class_name to null
if class has no name (anon unions case). Adjust base_addr
computation.
* valops.c (value_arg_coerce): Change final arg to int.
* valops.c (value_arg_coerce): Remove the conditional on HP
compiled target, for doing coercion of float to double. Removed
third parameter, using_gcc.
(call_function_by_hand): Do not use HP_COMPILED_TARGET, just
use the gcc_compiled variable.
* valops.c (value_cast): Take case of the enclosing_type and
pointer_to_offset fields.
(value_at): Use VALUE_CONTENTS_ALL_RAW
(value_fetch_lazy): Ditto
(value_assign): Handle enclosing_type, embedded_offset and
pointed_to_offset fields.
(value_repeat): Use VALUE_CONTENTS_ALL_RAW and VALUE_ENCLOSING_TYPE.
(value_ind): Set enclosing_type and embedded_offset correctly,
for a pointer value being dereferenced. Target memory bytes
corresponding to the size of the enclosing type are retreived.
(value_addr): Handle enclosing_type and pointed_to_offset.
(value_push): Use VALUE_CONTENTS_ALL and VALUE_ENCLOSING_TYPE.
(value_arg_coerce): Coerce floats to doubles only if gcc was not
used to compile the target.
(call_function_by_hand): Handle pointers to functions as paramters.
(value_array): Use VALUE_CONTENTS_ALL and VALUE_ENCLOSING_TYPE.
(search_struct_method): Produce more informative error message.
(find_rt_vbase_offset): Deal with negative offsets.
(value_find_oload_method_list): New function. Return the list of
overloaded methods of a specified name.
(find_method_list): New function. Search through the methods of an
object (and its bases) to find a specified method.
(value_full_object): New function. Given a value, check its real
run-time type.
(value_rtti_target_type): New function. Given a pointer value V, find
the real (RTTI) type of the object it points to.
(value_rtti_type): New function. Find the real run-time type of a
value using RTTI.
* valops.c: Include gdbcmd.h
Set global overload_resolution to 0.
(find_function_in_inferior): Modify error message.
(value_allocate_space_in_inferior): Modify error message.
(value_cast): Deal with HP/aCC peculiarities.
(value_of_variable): Use SYMBOL_SOURCE_NAME instead of SYMBOL_NAME.
(value_addr): Modify address value by adding the embedded offset.
(value_ind): Modify the address of the object by the pointed_to_offset.
(call_function_by_hand): Do not do any extra alignment if not needed.
Fetch the return value from the stack rather then from the register,
for the hppa architecture.
(search_struct_field): Rewritten. Now this function uses
search_struct_field_aux to do all the work.
(search_struct_field_aux): New function. This is the old
search_struct_field rewritten.
(find_rt_vbase_offset): Give error if virtual table pointer is not good.
(find_overload_match): New function. Find the best function that
matches on the argument types according to the overload resolution
rules.
(_initialize_valops): Add new set/show command for overload-resolution.
* value.h (VALUE_POINTED_TO_OFFSET): New macro.
Add field pointed_to_offset to value structure.
Add prototypes for new functions in valops.c.
* value.h (write_register_pid): Change prototype to match
function.
* value.h: Hp merge, 4/15/98 snapshot
Added parameter to val_print func decl.
Added new macro, VALUE_EMBEDDED_OFFSET, and
new func decl, find_rt_vbase_offset, for C++
support.
* values.c (allocate_value): Allocate also for value_embedded_offset
and value_enclosing_type.
(value_copy): Copy value_embedded_offset and value_enclosing_type too.
Use all_raw in copying the value itself.
(value_primitive_field): Add handling of base subobjects.
* values.c (value_copy): Copy the pointed_to_offset as well.
(allocate_value): Allocate the pointed_to_offset as well.
(value_virtual_fn_field): Rewrite.
* values.c (value_primitive_field): Adjust embedded offset and
offset calculation.
* values.c (value_static_field): Take into consideration that static
data members can be minimal symbols too.
* values.c (value_virtual_fn_field): Fix call to value_at.
* win32-nat.c (handle_load_dll): Added params to call to symbol_file_add.
Other changes have to do with XDB compatability. Leave oout
for now.
defs.h (vfprintf_filtered): Change FILE to GDB_FILE in decl.
(fprintf_filtered): Ditto.
(fprintfi_filtered): Ditto.
(vfprintf_unfiltered): Ditto.
(fprintf_unfiltered): Ditto.
infcmd.c (_initialize_infcmd): If xdb_commands is set, make S an
alias for next and define R, lr, g. Define go.
pyr-tdep.c (pyr_print_insn): Change FILE to GDB_FILE.
* breakpoint.c (create_temp_exception_breakpoint): #If it out --
nothing calls it.
(bpstat_stop_status): Don't call SOLIB_HAVE_LOAD_EVENT if it's not
defined; don't call SOLIB_HAVE_UNLOAD_EVENT if it's not defined.
(bpstat_get_triggered_catchpoints): If we don't have shared
library support, then don't call SOLIB_LOADED_LIBRARY_PATHNAME nor
SOLIB_UNLOADED_LIBRARY_PATHNAME.
(watch_command_1): Don't require a run before a watch command
unless we're on HP [it's an HP OS bug, not a generic limitation]
(catch_load_command_1): Don't define if no shared libraries.
(catch_command_1): Don't claim to support fork catchpoints unless
CHILD_INSERT_FORK_CATCHPOINT is defined, don't claim to support
vfork catchpoints unless CHILD_INSERT_VFORK_CATCHPOINT is defined,
don't clain to support shared library load catchpoints if shared
libraries aren't supported, and don't claim to support exec
catchpoints unless CHILD_INSERT_EXEC_CATCHPOINT is defined
There are new target_ops vector fields that pertain
only to HPUX. Added the to_require_attach and
to_require_detach fields to exec_ops. These new
fields are ifdef'ed for HPUX_SNAP1.
* breakpoint.h:
Fix compile error in enum bptype.
* coff-solib.h:
Fixed a number of macro definitions. SOLIB_LOADED_LIBRARY_PATHNAME,
SOLIB_HAVE_LOAD_EVENT, SOLIB_HAVE_UNLOAD_EVENT,
SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_IN_DYNAMIC_LINKER. These
macros are only meaningful (for now) for SOM. So, all
the macros were defined as error(...), but were used in
conditions. This caused the compile to crap out. I redefined
these (for now) to be 0.
* procfs.c:
(procfs_create_inferior): Fix call to fork_inferior -- need another
parameter.
* solib.h:
Fixed a number of macro definitions. SOLIB_LOADED_LIBRARY_PATHNAME,
SOLIB_HAVE_LOAD_EVENT, SOLIB_HAVE_UNLOAD_EVENT,
SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_IN_DYNAMIC_LINKER. These
macros are only meaningful (for now) for SOM. So, all
the macros were defined as error(...), but were used in
conditions. This caused the compile to crap out. I redefined
these (for now) to be 0.
* valops.c:
(search_struct_field): Undeclared local variable, "assigned".
(find_rt_vbase_offset): Fixed call to value_at
* value.h: Fix signature for find_rt_vbase_offset funct decl
(missing a param)
Wed Dec 30 17:48:12 1998 Stan Shebs <shebs@andros.cygnus.com>
From J.T. Conklin <jtc@redbacknetworks.com>:
* i386-stub.c: Fix error string in last change.
1998-12-30 Jason Molenda (jsm@bugshack.cygnus.com)
* utils.c: <Readline/readline.h> instead of "readline/readline.h".
* configure.in (TERM_LIB): Search for the appropriate term library
on the host system.
* configure: Regenerated.
* Makefile.in (TERMCAP): Set based on autoconf check.
* config/*/*.mh: Don't override TERMCAP setting.
Wed Dec 30 17:23:14 1998 Mark Alexander <marka@cygnus.com>
* value.c (value_virtual_fn_field): Handle the situation where
vtbl is a pointer to a structure instead of a pointer to an array.
Mon Dec 28 17:43:36 1998 David Taylor <taylor@texas.cygnus.com>
The following changes were made by Jim Blandy <jimb@cygnus.com>,
Edith Epstein <eepstein@cygnus.com>, Elena Zannoni
<ezannoni@cygnus.com> Stan Shebs <shebs@cygnus.com>, and David
Taylor <taylor@cygnus.com>, as part of the project to merge in
changes originally made by HP; HP did not create ChangeLog
entries.
* c-lang.h (cp_print_value_fields): Update prototype; fixed
prototype decl for c_val_print function -- it needed an
embedded_offset param; fixed prototype of cp_print_value_fields.
Include value.h.
(C_LANG_H): Define.
* c-valprint.c (c_val_print): Add new parameter embedded_offset.
Add embedded_offset to valaddr in function calls. fix calls to
val_print, and cp_print_value_fields. Attempt to determine the
real type of the object to be printed. fixed call to
cp_print_value_fields. process TYPE_CODE_METHOD as well. moved
call to check_typedef out of conditional. add embedded offset
param to val_print call.
(c_value_print): Add new parameter to call to val_print. Handle
pointer to class case. Ensure that const char *, const unsigned
char * come out without the type but the volatile variants and the
signed variants don't.
* ch-lang.h (chill_val_print): Add parameter to decl.
* ch-valprint.c: The various print routines have an additional
parameter. Currently, the new parameter is only used when printing
C++ expressions. So, in ch-valprint.c, the new parameter is always
0. Changes in calls to val_print, chill_val_print, c_val_print
Affected functions are chill_val_print_array_elements,
chill_val_print, chill_print_value_fields, chill_value_print.
* cp-valprint.c add vtable pointers names for aCC (HP) compiler.
(cp_print_class_method): Print message for HP/aCC case.
(cp_print_class_member): Add comments.
(cp_print_value): Adjust address computations for virtual base
classes. add new parameter 'offset'. Find correct offset for
base class in HP/aCC case. Change call to cp_print_value_fields
to have extra par.
(cp_print_value_fields): Do not print also if the only field is
the vtable pointer. Print out vtable ptr, for HP/aCC compiled
case. do not print leading '=' in case of anonymous union, or
struct. add new parameter 'offset'. Do not print the vtable
pointer as a member, in the HP aCC case. Changed calls to
val_print to have extra parameter.
(cp_print_hpacc_virtual_table_entries): New function. Print vtable
entries, in HP/aCC compiled case.
(cp_print_static_field): Change call to cp_print_value_fields, and
val_print.
* d30v-tdep.c (d30v_print_register): Add embedded_offset param
to val_print call.
* defs.h: Additional include files included when TUI is defined.
(gdb_file_isatty): New function decl.
(GDB_FILE): If TUI is defined, define a structure rather
than making this an alias for FILE.
(gdb_stdout, gdb_stderr): If TUI is defined, then define these
as pointers to variables of type GDB_FILE rather than making them
be aliases for stdout and stderr.
(TUIDO): Add definition conditionalized on definition
(or lack thereof) of TUI.
(command_class): Add two additional values.
(precision_type): New enum.
(gdb_fclose): Add decl.
(store_address): Change prototype to match function.
(tui_version, xdb_commands, dbx_commands): Add decls.
(gdb_file_deallocate): New function decl
(pa_do_strcat_registers_info): New function decl.
(streamtype): New enumerated type to distinguish between output to
a FILE and output to a buffer.
(tui_stream): New struct type, named GDB_FILE.
(gdb_stdout): Of type GDB_FILE, will pass this around gdb rather
than stdout.
(gdb_stderr): Of type GDB_FILE, will pass this around gdb rather
than stderr.
(fputs_unfiltered_hook): Change stream parameter from FILE to
GDB_FILE.
(flush_hook): Change stream parameter from FILE to GDB_FILE.
(gdb_fclose): Fix decl for gdb_fclose; parameter is now of
type GDB_FILE **.
(gdb_file_adjust_strbuf): New function decl. function lives
in utils.c.
(gdb_file_init_astring): New function decl. function lives
in utils.c.
(gdb_file_get_strbuf): New function decl. function lives in
utils.c.
(source_full_path_of): Declare.
* exec.c (_initialize_exec): Make definition of file command be
dependent upon dbx_commands not being set.
(exec_file_attach): New function.
(exec_file_command): Call it.
(exec_ops): Add new target vector fields.
* f-lang.h (f_print_type): Change FILE to GDB_FILE in decl.
(f_val_print): Ditto.
(f_val_print): Add parameter to the function decl.
* f-valprint.c (_initialize_f_valprint): If xdb_commands is set,
define lc command.
(f77_create_arrayprint_offset_tbl): Change FILE to GDB_FILE.
(f77_print_array): Ditto.
(f77_print_array_1): Ditto.
(f_val_print): Ditto.
(f_val_print): Add a parameter; this new parameter is currently
only non-zero when handling C++ expressions. In this file its
value is always 0. changed fflush to gdb_flush.
* gnu-nat.c: (init_gnu_ops): Add new target vector fields.
(gnu_create_inferior): Add param to fork_inferior call.
* hppa-tdep.c (after_prologue): If f is NULL, don't dereference
it. if no debug info, return zero telling caller that we need to
find the end of the prologue via the hard way (instruction
examination).
(find_unwind_entry): Avoid dereferencing a null
pointer.
(hppa_pid_to_exec_file): Deleted -- no longer used.
(hppa_prepare_to_proceeed): Add prototype.
(read_unwind_info): Purecov comments, bug fixes.
(find_unwind_entry): Purecov comments, bug fixes.
(find_stub_with_shl_get): Purecov comments.
(frame_chain): Additional parens.
(hppa_push_arguments): Changes to commented out version of routine.
(hppa_fix_call_dummy): Purecov comments, fix location of end.o.
(in_solib_call_trampoline): Purecov comments.
(in_solib_return_trampoline): Purecov comments.
(setup_d_pid_in_inferior): Fix location of end.o.
(initialize_hp_cxx_exception_support): Fix location of end.o.
(child_enable_exception_callback): Purecov comments.
(pa_do_strcat_registers_info): Has a new parameter, precision,
which is passed into the call to pa_strcat_fp_reg to indicate
whether to display the floating point registers using
single or double preceision.
(pa_strcat_registers): Introduce local variable, precision, and
pass it into call to pa_strcat_fp_reg.
(pa_strcat_fp_reg): Modified function. New parameter, precision,
used by function to decide whether to use single or double
precision. Also add the code to put a double precision value
into a buffer.
(pa_do_strcat_registers_info): New routine. called by
tui/tuiRegs.c:_tuiRegisterFormat to place a register name
and value into a string buffer. Interface may change in
future. Checking this in so that we have something
functional for HP.
(pa_strcat_registers): New routine, called by
pa_do_strcat_registers_info. Does same thing as
pa_print_registers except it takes a stream parameter.
This routine should disappear in future. Checking in
so that we have something functional to give HP
(pa_strcat_fp_reg): New routine, called by
pa_do_strcat_registers_info and pa_strvat_registers
to place a floating point register name and value into
a buffer. This interface may change in future.
Checking in so that we have something functional to give HP.
(pa_print_fp_reg): Change prototype to match def'n.
(pa_register_look_aside): Fix comment immediately before function.
Changes to better support stack unwinding, reading and writing
registers for HPUX. New includes ptrace.h, bfd.h, dl.h.
(internalize_unwinds): Initialize new fields in table.
(read_unwind_info): Entries in the table are now more complex
structures. References of the form ...->table[index].stub_type are
now ...->table[index].stub_unwind.stub_type.
(find_proc_framesize): Add a check for pc == 0.
(rp_saved): Entries in the table are now more complex
structures. References of the form ...->table[index].stub_type are
now ...->table[index].stub_unwind.stub_type.
(frameless_function_invocation): Stub_type becomes
stub_unwind.stub_type
(saved_pc_after_call): Stub_type becomes stub_unwind.stub_type
(hppa_frame_saved_pc): Stub_type becomes stub_unwind.stub_type
(frame_chain_valid): Stub_type becomes stub_unwind.stub_type
(hppa_call_dummy): Stub_type becomes stub_unwind.stub_type
(pa_print_fp_reg): Additional params to call val_print
(in_solib_call_trampoline): Stub_type becomes
stub_unwind.stub_type
(in_solib_return_trampoline): Stub_type becomes
stub_unwind.stub_typ
(skip_trampoline_code): Additional code to handle external
dyncalls. Also stub_type becomes stub_unwind.stub_type
(hppa_pid_to_exec_file): New funct. FOr HPUX 10.0 and beyond there
is an explicit ptrace request for getting the pathname associated
with a process id (pid).
(hppa_pid_to_exec_file): Remove unwanted param from call to
call_ptrace.
(args_for_find_stub): New structure.
(find_unwind_entry): Deal with null input pc value.
(rp_saved): Ditto.
For the import stub, return -24 always.
(hppa_frame_saved_pc): Save old pc value, to detect we are in a loop.
(init_extra_frame_info): Use TARGET_READ_FP.
(frame_chain): Include thread support.
If the caller's pc is zero, we lose and return, just like stack
bottom.
Disable warning about being unable to find unwind info.
(hppa_push_arguments): Rewrite.
(hppa_value_returned_from_stack): New function. Handles returning
a value larger than 64 bits, stored on the stack.
(find_stub_with_shl_get): New function. To look up symbols in shlibs.
(cover_find_stub_with_shl_get): New function. Cover routine for
find_stub_with_shl_get to pass to catch_errors.
(hppa_fix_call_dummy): Comment out old stub mechanism.
Rewrite using dyncall.
(target_read_fp): New function.
(pa_do_registers_info): Floating point registers start at FP4.
(pa_print_registers): Use FP4_REGNUM instead of 72.
(skip_trampoline_code): Do machine instruction matching for PA2.0.
(setup_d_pid_in_inferior): New function. Exception handling support.
(initialize_hp_cxx_exception_support): Ditto.
(child_enable_exception_callback): Ditto.
(child_get_current_exception_event): Ditto.
* hpux-thread.c (hpux_thread_ops): Add new target vector fields.
* infcmd.c: Include objfiles.h.
(attach_command): New local variable, exec_file, add code to
determine exec_file from pid if exec_file is not already known,
call new target operation, target_post_attach -- a no-op unless
on HPUXHPPA.
(detach_command): After detaching, do a SOLIB_RESTART.
(objfiles.h): Fix typo on include line.
(run_command): Only call SOLIB_RESTART if it's defined.
(detach_command): Ditto.
(run_command): If program has already been started, and decide
to restart it, the kill the target, flush the caches,
call init_wait_for_inferior. Also purge old solib objfiles.
(run_stack_dummy): Add calls to
disable_watchpoints_before_interactive_call_start and
enable_watchpoints_after_interactive_call_stops.
(finish_command): Alter code handling the evaluation and printing
of the target function's return value.
(attach_command): When given a pid, but no exec file, try to
determine the exec file from the process. If the process does not
record a full path name, try to qualify the filename against the
source path.
(_initialize_infcmd): Add some verbiage about how to use the
attach command.
(do_registers_info): Changed calls to val_print
made the symfile.h include preceed the
objfiles.h include. The other ordering caused a
compile problem (incompletely defined types).
* inftarg.c (child_post_attach): Fix decl, make static.
(proc_wait): Make globally visible.
(child_insert_fork_catchpoint, etc): Fix return type.
(child_detach_from_process): Declare.
(child_attach_to_process): Declare.
(child_stop): Make static to match decl.
(ptrace_him): Change prototype back to return int.
(ptrace_me): Remove debug output, pass NULL to fork_inferior if
not HPUX.
(proc_wait): function prototype and definition are enclosed by
proc_wait ifndef
(child_attach_to_process): New function, does most of the work
that child_attach used to do and some additional work to determine
whether gdb is already attached to the target how to react.
(child_attach): Altered. It's now a wrapper for
child_attach_to_process.
(child_require_attach): New function, called if should attach even
when gdb is already attached to target.
(child_detach_from_process): New function, does most of the work
that child_detach used to do and some additional work to determine
whether gdb is currently attached to the target.
(child_detach): Altered. It's now a wrapper for
child_detach_from_process.
(child_require_detach): New function, called if should try to
detach even when gdb is not attached to target.
(ptrace_him): Calls a new function,
target_acknowledge_forked_child. Currently,
target_acknowledge_forked_child, is only defined to do something
for HPUX.
(child_create_inferior): Changed call to fork_inferior.
(child_ops): Add to_require_attach and to_require_detach fields
to the child_ops target ops vector.
Some hacks for ttrace work:
(child_wait): Additional local variables, additional code in
while loop to check for process exited, process forked,
process vforked, process execd.
(child_thread_alive): John B. seems to think that the kill
call is inapproapriate for HPUX.
(child_attach_to_process): Using strtol rather than atoi.
no longer check for case where there is no known exec file.
(child_post_attach): New function, a default, a no-op.
(child_insert_fork_catchpoint): New function, a default, a no-op.
(child_remove_fork_catchpoint): New function, a default, a no-op.
(child_insert_vfork_catchpoint): New function, a default, a no-op.
(child_remove_vfork_catchpoint): New function, a default, a no-op.
(child_can_follow_vfork_prior_to_exec ):new function, a default,
a no-op.
(child_insert_exec_catchpoint): New function, a default, a no-op.
(child_remove_exec_catchpoint): New function, a default, a no-op.
(child_has_execd): New function, a default, returns 0.
(child_reported_exec_events_per_exec_call): New function, a
default, returns 1.
(child_has_exited): New function, a default.
(child_core_file_to_sym_file): New function, a default, returns NULL.
(child_ops): Initialize new target vector fields.
* jv-lang.h: (Java_val_print): Add embedded_offset param to func
decl.
* jv-valprint.c: Changing calls to val_print to accomodate new param.
(java_value_print): Add embedded_offset param to val_print call
(java_print_value_fields): Add embedded_offset param to val_print
call.
(java_val_print): Add embedded_offset param. alter call to
c_val_print to accomodate embedded_offset param.
* language.c (lang_bool_type): Return builtin_type_bool in c++
case.
(unk_lang_val_print): Add embedded_offset param to
prototype decl and definition.
* language.h (LA_VAL_PRINT macro, la_val_print function decl):
altered to accomodate the new parameter to the various print
functions.
* m2-lang.h (m2_val_print): Add a parameter to the function decl.
* m2-valprint.c (m2_val_print): Add a parameter.
This parameter is currently only used when evaluating C++
expressions. So, it is always 0 in this file.
* m3-nat.c (m3_create_inferior): Add param to fork_inferior call
(m3_pid_to_exec_file): New function
(m3_ops): Add new target vector fields.
* mac-nat.c (init_child_ops): Add new target vector fields.
* mips-tdep.c: Chnages to accomodate additional parameter
to val_print.
(mips_print_register): Alter calls to val_print
* monitor.c (monitor_write): Change stderr to gdb_stderr.
(monitor_remove_breakpoint): Ditto.
(init_base_monitor_ops): Add new target vector fields.
* ppc-bdm.c (init_bdm_ppc_ops): Add new target vector fields.
* printcmd.c (do_examine): When saving a value_ptr, remove it from
the list of value_ptr's to be freed automatically; when discarding
a previously saved value_ptr, free it.
(print_formatted): Update comments; add new comments.
(printf_command, print_insn): Purecov comments.
(_initialize_printcmd): Add assign as a command if dbx_commands is
set; create va as an alias for disassemble if xdb_commands is set.
(address_info): New cases LOC_INDIRECT and
LOC_THREAD_LOCAL_STATIC.
(display_command): If tui_version and exp starts with a '$', then
don't display it unless tui_vSetLayoutTo fails.
(disassemble_command): Add tuiDo calls.
(print_scalar_formatted): For integers that are long long, check
the print format and print out in binary octal, decimal, or
hex. Call the new print_*_chars functions in valprint.c
(print_frame_args): Altered calls to val_print, to reflect
additional parameter to val_print (case LOC_BASEREG_ARG).
* procfs.c: (Procfs_init_inferior): Return value is now a void.
(procfs_ops): Add new target vector fields.
(procfs_create_inferior): Fix call to fork_inferior -- need another
parameter.
* remote-adapt.c (adapt_open): Change stderr to gdb_stderr.
(adpat_insert_breakpoint): Ditto.
(init_adapt_ops): Add new target vector fields.
* remote-array.c (array_wait): Change fflush to gdb_flush and
stdout to gdb_stdout.
(init_array_ops): Add new target vector fields.
* remote-bug.c (bug_load): Change fflush to gdb_flush; stdout to
gdb_stdout.
(bug_wait): Change stderr to gdb_stderr.
(bug_insert_breakpoint): Ditto.
(init_bug_ops): Add new target vector fields.
* remote-e7000.c
(init_e7000_ops): Add new target vector fields.
* remote-eb.c (init_eb_ops): Ditto.
* remote-es.c (init_es1800_ops): Ditto.
(init_es1800_child_ops): Ditto.
* remote-es.c (init_es1800_ops): Ditto.
(init_es1800_child_ops): Ditto.
* remote-hms.c (init_hms_ops): Ditto.
* remote-hms.c (init_hms_ops): Ditto.
* remote-nindy.c (init_nindy_ops): Ditto.
* remote-nrom.c (init_nrom_ops): Ditto.
* remote-os9k.c (init_rombug_ops): Ditto.
* remote-rdp.c (init_remote_rdp_ops): Ditto.
* remote-sds.c (init_sds_ops): Ditto.
* remote-sim.c (init_gdbsim_ops): Ditto.
* remote-st.c (init_st2000_ops): Ditto.
* remote-udi.c (init_udi_ops): Ditto.
* remote-vx.c (init_vx_ops): Ditto.
(init_vx_run_ops): Ditto.
* remote-vx.c: (Init_vx_ops): Ditto.
(init_vx_run_ops): Ditto.
* remote-mips.c (mips_getstring): Change stderr to gdb_stderr.
(pmon_insert_breakpoint): Ditto.
(pmon_remove_breakpoint): Ditto.
(check_lsi_error): Ditto.
(common_breakpoint): Ditto.
(pmon_makeb64): Ditto.
* remote-mips.c (mips_xfer_memory): Change fflush to gdb_flush;
change stdout to gdb_stdout.
* remote-mm.c (mm_open): Change stderr to gdb_stderr.
(init_mm_ops): Add new target vector fields.
(mm_load): Fixed params in commented out call to symbol_file_add.
* remote-nindy.c (instream): Change decl to FILE.
* remote-udi.c (udi_load): Fixed params in call to symbol_file_add.
* remote-vx.c (vx_add_symbols): Fixed params in call to
symbol_file_add.
* remote.c (init_remote_ops): Cosmetic change to match expected
test output.
* rs6000-nat.c (add_vmap): Add params to call to allocate_objfile.
* scm-lang.h: Add parameter to scm_val_print function decl.
* scm-valprint.c (scm_scmval_print): Cast svalue to (int); new
parameter. This parameter is currently only used when evaluating
C++ expressions. So, it is always 0 in this file.
(c_val_print): Fixed prototype decl; it needed an embedded_offset
param.
* sol-thread.c (sol_core_ops): Add new target vector fields.
(sol_thread_ops): Ditto.
* somsolib.c (DLD_FLAGS_MAPPRIVATE): New macro.
Define bit of __dld_flags in HP-UX a.out files.
(DLD_FLAGS_HOOKVALID): Ditto.
(DLD_FLAGS_LISTVALID): Ditto.
(DLD_FLAGS_BOR_ENABLE): Ditto.
(som_solib_total_st_size): Cumulative size in bytes of the
symbol tables of all shared objects on the so_list_head list.
(som_solib_st_size_threshhold_exceeded): Threshold for adding symbols
for shlibs.
(som_solib_sizeof_symbol_table): New function. Computes size of
symbol table for a shlib.
(som_solib_load_symbols): New function. Load symbols from shlib.
(som_solib_add): Detect if __dld_list is not valid.
Record main program's symbol table size.
Load symbols if called from command line.
Keep threshold into account when loading shlib symbols.
(som_solib_create_inferior_hook): Use dld_flags macros.
(som_sharedlibrary_info_command): Let user know if symbols were
not loaded.
(som_solib_restart): Discard all the shlibs descriptors.
(_initialize_som_solib): Chenge help message for auto-solib-add
command.
Set threshold for symbol table to 50 megabytes.
(_initialize_som_solib): Add call to som_solib_restart.
(som_solib_restart): New function
(som_solib_in_dynamic_linker): New function
(som_solib_desire_dynamic_linker_symbols): New function
(som_solib_unloaded_library_pathname): New function
(som_solib_loaded_library_pathname): New function
(som_solib_library_pathname): New function
(som_solib_have_unload_event): New function
(som_solib_have_load_event): New function
(som_solib_create_catch_unload_hook): New function
(som_solib_create_catch_load_hook): New function
(som_solib_create_inferior_hook): Rewritten
dld_cache: New struct
addr_and_unwind_t: New struct
(find_unwind_entry) add prototype
Include assert.h, remove references to ASSERT macro,
add include of fcntl.h so that O_RDONLY is defined.
(som_solib_create_inferior_hook): Introduce new local
msymbol2 and change some msymbol's to msymbol2's -- was clobbering
msymbol, passing a NULL to lookup_minimal_symbol_solib_trampoline,
and ultimately core dumping with a SEGV.
(som_solib_mapped_entry): Additional comments for text_addr,
text_link_addr, text_end, and tsd_start_addr fields. Commenting
out 2 tsd fields, __data_start and __data_end.
(som_solib_add_solib_objfile): Add params to calls to symbol_file_add.
Add some code for distinguishing between a shared library and other
objfiles. This appears to be a prelude to thread local storage.
(som_solib_load_symbols): Changes to printf statement
enclosed by SOLIB_DEBUG ifdef.
(som_solib_add): Change comment to correctly specify path
to end.o -- /opt/langtools/lib/end.o. changes to printf statement
enclosed by SOLIB_DEBUG ifdef.
Removed several SOLIB_DEBUG ifdefs and the associated printfs.
Add code to find the start address for the object file's thread
local storage
(som_solib_create_inferior_hook): Fix warning messages use correct
path to end.o -- /opt/langtools/lib/end.o. Change control flow.
No longer user early returns from function is cases of error.
(reset_inferior_pid): New function
(som_solib_remove_inferior_hook): New function
(so_lib_thread_start_addr): New function. used for tsd.
(struct som_solib_mapped_entry): Add new field tsd_start_addr.
(struct so_list): Add new field solib_addr.
(som_solib_add_solib_objfile): New function.
(som_solib_load_symbols): Rewritten.
(som_solib_add): Make sure we don't load the symbols in if the
threshold was exceeded.
(som_solib_get_solib_by_pc): New function. Return the address of
handle of the shared library.
(som_solib_restart): Disable breakpoints at restart.
* sparcl-tdep.c (init_sparclite_ops): Add new target vector fields.
* target.c (cleanup_target): Changed casting of default functions
for to_has_forked, to_has_vforked, to_pid_to_exec_file to get rid
of warnings. Fixed PARAMS for to_has_syscall_event. Fixed the
return type on a few of the default function values.
(cleanup_target): Changes in the de_fault macro, both to
accomodate the new target_ops vector fields and to use
more accurate default functions.
(debug_to_open): Change stderr to gdb_stderr.
(debug_to_close): Ditto.
(debug_to_attach): Ditto.
(debug_to_post_attach): Ditto.
(debug_to_require_attach): Ditto.
(debug_to_detach): Ditto.
(debug_to_require_detach): Ditto.
(debug_to_resume): Ditto.
(debug_to_wait): Ditto.
(debug_to_post_wait): Ditto.
(debug_to_fetch_registers): Ditto.
(debug_to_store_registers): Ditto.
(debug_to_prepare_to_store): Ditto.
(debug_to_xfer_memory): Ditto.
(debug_to_files_info): Ditto.
(debug_to_insert_breakpoint): Ditto.
(debug_to_remove_breakpoint): Ditto.
(debug_to_terminal_init): Ditto.
(debug_to_terminal_inferior): Ditto.
(debug_to_terminal_ours_for_output): Ditto.
(debug_to_terminal_ours): Ditto.
(debug_to_terminal_info): Ditto.
(debug_to_kill): Ditto.
(debug_to_load): Ditto.
(debug_to_lookup_symbol): Ditto.
(debug_to_create_inferior): Ditto.
(debug_to_post_startup_inferior): Ditto.
(debug_to_acknowledge_created_inferior): Ditto.
(debug_to_clone_and_follow_inferior): Ditto.
(debug_to_post_follow_inferior_by_clone): Ditto.
(debug_to_insert_fork_catchpoint): Ditto.
(debug_to_remove_fork_catchpoint): Ditto.
(debug_to_insert_vfork_catchpoint): Ditto.
(debug_to_remove_vfork_catchpoint): Ditto.
(debug_to_has_forked): Ditto.
(debug_to_has_vforked): Ditto.
(debug_to_can_follow_vfork_prior_to_exec): Ditto.
(debug_to_post_follow_vfork): Ditto.
(debug_to_insert_exec_catchpoint): Ditto.
(debug_to_remove_exec_catchpoint): Ditto.
(debug_to_has_execd): Ditto.
(debug_to_reported_exec_events_per_exec_call): Ditto.
(debug_to_has_syscall_event): Ditto.
(debug_to_has_exited): Ditto.
(debug_to_mourn_inferior): Ditto.
(debug_to_can_run): Ditto.
(debug_to_notice_signals): Ditto.
(debug_to_thread_alive): Ditto.
(debug_to_stop): Ditto.
(debug_to_enable_exception_callback): Ditto.
(debug_to_get_current_exception_event): Ditto.
(debug_to_pid_to_exec_file): Ditto.
(debug_to_core_file_to_sym_file): Ditto.
(default_clone_and_follow_inferior): New function prototype
decl and function definition.
(dummy_target): Add new target_ops vector fields and their
initializations. More target_ops vector changes for HPUX new
fields.
(de_fault): Add new HPUX specific target_ops operations to the
de_fault macro
(INHERIT): Add new HPUX specific target_ops operations.
(debug_to_post_wait): New function.
(debug_to_post_startup_inferior): Ditto.
(debug_to_acknowledge_created_inferior): Ditto.
(debug_to_clone_and_follow_inferior): Ditto.
(debug_to_post_follow_inferior_by_clone): Ditto.
(debug_to_create_catch_fork_hook): Ditto.
(debug_to_create_catch_vfork_hook): Ditto.
(debug_to_has_forked): Ditto.
(debug_to_has_vforked): Ditto.
(debug_to_post_follow_vfork): Ditto.
(setup_target_debug): Initialize new target_ops vector fields.
(nosupport_runtime): New function, used in cleanup_target
(update_current_target): Add new new target_ops vector fields to
the INHERIT macro definition.
(generic_mourn_inferior): The call to breakpoint_init_inferior now
takes a parameter.
(normal_pid_to_str): Add a \0 to the end of buf.
(debug_to_has_syscall_event): New function.
(debug_to_enable_exception_callback): New function.
(debug_to_get_current_exception_event): New function.
(setup_target_debug): Initialize the 3 new target_ops vector fields
(struct signals): Fix message associated with SIGRETRACT.
(return_one): New function, used by the de_fault macro
(debug_to_post_attach): New function.
(debug_to_wait): Add new cases TARGET_WAITKIND_FORKED,
TARGET_WAITKIND_VFORKED, TARGET_WAITKIND_EXECD.
(debug_to_insert_fork_catchpoint): New function.
(debug_to_remove_fork_catchpoint): Ditto.
(debug_to_insert_vfork_catchpoint): Ditto.
(debug_to_remove_vfork_catchpoint): Ditto.
(debug_to_can_follow_vfork_prior_to_exec): Ditto.
(debug_to_insert_exec_catchpoint): Ditto.
(debug_to_remove_exec_catchpoint): Ditto.
(debug_to_core_file_to_sym_file): Ditto.
(setup_target_debug): Give new fields in current_target target_ops
vector values.
* target.h: Include symtab.h.
(target_waitkind): New enumerated values
TARGET_WAITKIND_SYSCALL_ENTRY, TARGET_WAITKIND_SYSCALL_RETURN,
TARGET_WAITKIND_FORKED, TARGET_WAITKIND_VFORKED,
TARGET_WAITKIND_EXECD.
(target_waitstatus): Add a syscall_id field to structure.
(child_has_syscall_event): New decl.
(child_thread_alive): New decl.
(target_ops): Add 3 new fields: To_has_syscall_event,
to_enable_exception_callback, to_get_current_exception_event
(target_enable_exception_callback): New macro.
(target_has_syscall_event): New macro.
(target_get_current_exception_event): New macro.
(TARGET_DISABLE_HW_WATCHPOINTS): New macro.
(TARGET_ENABLE_HW_WATCHPOINTS): New macro.
(PC_REQUIRES_RUN_BEFORE_USE): New macro.
(target_tid_to_str): New macro.
(target_waitstatus): Additional fields in struct to keep track
of child pid and pathname to execd file.
(target_ops): Add in the new target_ops function pointer fields.
New macros to go along with new target_ops fields.
In target_waitstatus.value, change name of child_pid field to
related_pid.
(target_pid_or_tid_to_str): Define default macro.
Add missing #endif after PC_REQUIRES_RUN_BEFORE_USE definition
(ENSURE_VFORKING_PARENT_REMAINS_STOPPED): Define default macro.
(RESUME_EXECD_VFORKING_CHILD_TO_GET_PARENT_VFORK): Define default
macro.
There are new function decls for to_require_attach
and to_require_detach. There are also new macros,
target_require_attach and target_require_detach. There are
also new function decls for find_default_require_detach
and find_default_require_attach.
(target_ops): New fields to_post_wait, to_post_startup_inferior
to_acknowledge_created_inferior, to_clone_and_follow_inferior,
to_post_follow_inferior_by_clone, to_create_catch_fork_hook,
to_create_catch_vfork_hook, to_has_forked, to_has_vforked,
to_post_follow_vfork, to_pid_to_exec_file.
New function definitions child_pid_to_exec_file, child_post_wait,
child_post_startup_inferior, child_acknowledge_created_inferior,
child_clone_and_follow_inferior,
child_post_follow_inferior_by_clone, child_create_catch_fork_hook,
child_create_catch_vfork_hook, child_has_forked,
child_has_vforked, child_acknowledge_created_inferior,
child_post_follow_vfork.
New macros target_post_startup_inferior,
target_acknowledge_created_inferior,
target_clone_and_follow_inferior,
target_post_follow_inferior_by_clone,
target_create_catch_fork_hook, target_create_catch_vfork_hook,
target_pid_to_exec_file.
(find_default_clone_and_follow_inferior): New function prototype.
* v850ice.c (init_850ice_ops): Init new target vector fields.
* valprint.c (print_binary_chars): Print out long long as
a binary number.
(print_octal_chars): Print out long long as an octal number
(print_decimal_chars): Print out long long as a decimal number
(strcat_longest): Define it.
* valprint.c: Hp merge, 4/15/98 snapshot
Add parameter to val_print. This is used for
evaluating C++ expressions.
* value.h (VALUE_POINTED_TO_OFFSET): New macro.
Add field pointed_to_offset to value structure.
Add prototypes for new functions in valops.c.
(write_register_pid): Change prototype to match
function.
(val_print function decl): Additional parameter.
(VALUE_EMBEDDED_OFFSET): New macro.
(find_rt_vbase_offset): New function decl -- for C++ support.
Wed Dec 23 15:03:42 1998 Per Bothner <bothner@cygnus.com>
* Makefile.in (READLINE_CFLAGS): Search $(READLINE_SRC)/.. rather
than $(READLINE_SRC) so #include <readline/readline.h> will work.
* top.c: #include <readline/history.h> instead of "history.h".
* tracepoint.c: Likewise.
* mac-xdep.c: Likewise.
Wed Dec 23 12:32:00 1998 Andrew Cagney <cagney@chook.cygnus.com>
* defs.h (TARGET_FLOAT_FORMAT, TARGET_DOUBLE_FORMAT): Define using
TARGET_BYTE_ORDER and not target_byte_order.
Tue Dec 22 10:51:33 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* config/i386/cygwin.mh (TERMCAP): define.
(from Chris Faylor, cgf@cygnus.com)
* top.c: specify directory name for including readline.h
* tracepoint.c: ditto.
* utils.c: ditto.
Mon Dec 21 13:30:34 1998 Mark Alexander <marka@cygnus.com>
* value.c (value_virtual_fn_field): Handle the situation where
vtbl is a pointer to a structure instead of a pointer to an array.
Mon Dec 21 10:38:11 1998 Andrew Cagney <cagney@chook>
* mips-tdep.c: (MIPS_DEFAULT_FPU_TYPE): Default to
MIPS_FPU_DOUBLE.
1998-12-17 J.T. Conklin <jtc@redbacknetworks.com>
* blockframe.c (get_frame_saved_regs): If the saved_regs_addr ptr
is null, ensure that saved registers are copied from the local
variable that was used to obtain them.
Sat Dec 19 09:55:09 1998 Stu Grossman <grossman@babylon-5.cygnus.com>
* mips-tdep.c (mips32_heuristic_proc_desc): Clear temp_saved_regs
on restart. Fixes problem with backtracing through functions that
use virtual frame pointers.
Fri Dec 18 14:23:34 1998 Andrew Cagney <cagney@chook>
* mips-tdep.c (mips_push_arguments): Don't left-shift small
structs being passed in a register when an O64 target.
* config/mips/tm-mips.h (enum mips_fpu_type, mips_fpu): Move to
mips-tdep.c.
* mips-tdep.c (mips_fpu_string): Delete variable.
(mips_fpu_type_auto): New variable.
(mips_fpu_type): Rename mips_fpu.
(_initialize_mips_tdep): Delete initialization of mips_fpu et.al.
Rewrite ``set mipsfpu'' command set.
(set_mipsfpu_command, show_mipsfpu_command,
set_mipsfpu_single_command, set_mipsfpu_double_command,
set_mipsfpu_none_command, set_mipsfpu_auto_command): New
functions, handle commands.
(mips_push_arguments, mips_push_dummy_frame, mips_pop_frame,
mips_extract_return_value): Update.
(_initialize_mips_tdep): Set mips_fpu_type according to current
processor.
(_initialize_mips_tdep): Only define ``set processor'' command
when not multi-sim.
Fri Dec 18 12:56:56 1998 Andrew Cagney <cagney@chook>
* gdbarch.h (gdbarch_init_ftype): Pass struct gdbarch_info
by-value.
(struct gdbarch_info): Add struct gdbarch_tdep_info *tdep_info.
* gdbarch.c (gdbarch_update): Update.
* mips-tdep.c: (mips_gdbarch_init): Update
* gdbarch.c (gdbarch_update): Add more tracing.
Thu Dec 17 02:15:40 1998 Andrew Cagney <cagney@chook.cygnus.com>
* configure.tgt (gdb_target): Identify mips64*vr4100*-*-elf* as
vr4100.
* config/mips/vr4100.mt, config/mips/tm-vr4100.h: Replace
vr4xxx.mt and tm-vr4xxx.h.
Thu Dec 17 02:06:17 1998 Andrew Cagney <cagney@chook.cygnus.com>
* mips-tdep.c (mips_gdbarch_init): New function. Initialize a MIPS
architecture vector.
(_initialize_mips_tdep): Register MIPS with GDBARCH.
(struct gdbarch_tdep): Define.
(MIPS_EABI, MIPS_LAST_FP_ARG_REGNUM, MIPS_LAST_ARG_REGNUM): When
multi-arch, get value from gdbarch->tdep.
Thu Dec 17 02:01:58 1998 Andrew Cagney <cagney@chook>
* gdbtypes.c (_initialize_gdbtypes): Register all builtin types
with gdbarch so that they are updated whenever the architecture is
changed.
Thu Dec 17 01:58:16 1998 Andrew Cagney <cagney@chook>
* gdbarch.h (GDB_MULTI_ARCH): New macro, default to zero.
(current_gdbarch): Current architecture pointer.
* gdbarch.c (struct gdbarch): Define.
* gdbarch.h (TARGET_ARCHITECTURE, TARGET_BYTE_ORDER,
TARGET_LONG_BIT, TARGET_LONG_LONG_BIT, TARGET_PTR_BIT): When
multi-arch force definition.
* gdbarch.h, gdbarch.c (gdbarch_tdep, gdbarch_bfd_arch_info,
gdbarch_byte_order, {set,}gdbarch_long_bit,
{set,}gdbarch_long_long_bit, {set,}gdbarch_ptr_bit): Corresponding
functions.
* gdbarch.h (struct gdbarch_list, struct gdbarch_info,
gdbarch_init_ftype), gdbarch.c (register_gdbarch_init): Mechanism
for registering an architecture with GDB.
(gdbarch_list_lookup_by_info, gdbarch_alloc, gdbarch_update,
verify_gdbarch): Support functions.
* gdbarch.h (gdbarch_data_ftype), gdbarch.c
(register_gdbarch_data, gdbarch_data): Mechanism for maintaining
per-architecture pointers.
(init_gdbarch_data): Support functions.
* gdbarch.h (gdbarch_swap_ftype), gdbarch.c
(register_gdbarch_swap): Ditto for swapped memory regions.
(init_gdbarch_swap, swapout_gdbarch_swap, swapin_gdbarch_swap):
Support functions.
* gdbarch.c (set_endian_big, set_endian_little, set_architecture,
info_architecture, set_gdbarch_from_file): Hook in multi-arch
code by calling gdbarch_update.
(default_gdbarch): Default multi-arch vector. Use host's type
system for values.
Thu Dec 17 01:34:36 1998 Andrew Cagney <cagney@chook>
* gdbtypes.c (build_gdbtypes): New function.
(_initialize_gdbtypes): Call.
Wed Dec 16 11:47:00 1998 Andrew Cagney <cagney@chook>
* gdbarch.c (show_architecture): Use TARGET_ARCHITECTURE.
* gdbarch.h, gdbarch.c: Fix typo's. Use struct's in preference to
types.
* gdbarch.h, gdbarch.c (gdbarch_debug): Add ``set archdebug'' to
command set.
Tue Dec 15 23:46:40 1998 Andrew Cagney <cagney@chook>
* config/mips/tm-*.h: (TARGET_BYTE_ORDER_DEFAULT,
TARGET_BYTE_ORDER_SELECTABLE_P): Replace TARGET_BYTE_ORDER and
TARGET_BYTE_ORDER_SELECTABLE.
1998-12-14 Anthony Thompson (athompso@cambridge.arm.com)
* remote-rdp.c (rdp_init): Don't discard first character on reset.
(translate_open_mode): Define table.
(exec_swi): Handle SWI_Clock. SWI_Open now handles stdin/stdout.
SWI_Write returns number of bytes not written. SWI_Read does the
same. SWI_Seek should return success/failure flag. Fix SWI_Flen.
1998-12-14 J.T. Conklin <jtc@redbacknetworks.com>
* config/i386/nbsd.mh, config/m68k/nbsd.mh, config/ns32k/nbsd.mh
(XDEPFILES): Add ser-tcp.o.
Mon Dec 14 14:46:13 1998 Andrew Cagney <cagney@b1.cygnus.com>
* monitor.c (monitor_expect, monitor_printf_noecho,
monitor_printf): Always compile EXTRA_RDEBUG code.
(RDEBUG): Ditto.
From Michael Meissner <meissner@cygnus.com>:
* ppcbug-rom.c (init_ppc_cmds): Cleanup formatting.
1998-12-08 Michael Meissner <meissner@cygnus.com>
* monitor.c (monitor_printable_string): New function to convert a
string into a printable representation.
(monitor_error): Call error after converting string into printable
format.
(monitor_printf{,_noecho}): If EXTRA_RDEBUG is defined, convert
string into printable form before printing.
(monitor_expect): Ditto.
(monitor_read_memory{,_single}): Call monitor_error, not error.
(monitor_read_memory): Return immediately if length is 0.
* ppcbug-rom.c (init_ppc_cmds): Fill in dump_registers field,
which is now required.
Mon Dec 14 11:01:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
* gdbarch.h, gdbarch.c: Consolidate the semi-dynamic target system
dependant GDB parameters.
(set_gdbarch_from_file): Combine set_architecture_from_file and
set_byte_order_from_file.
* top.c, defs.h, printcmd.c: Delete them from here.
* Makefile.in: Add gdbarch.[ch].
* exec.c (exec_file_command): Call set_gdbarch_from_file.
Sun Dec 13 09:52:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
* defs.h (TARGET_PRINT_INSN_INFO, TARGET_PRINT_INSN): Define.
(TARGET_ARCHITECTURE, TARGET_ARCHITECTURE_AUTO): Define.
(TARGET_BYTE_ORDER_AUTO): Define.
(TARGET_BYTE_ORDER_SELECTABLE_P): Provide default. Replaces
TARGET_BYTE_ORDER_SELECTABLE. Handle compat issues.
(BITS_BIG_ENDIAN): Simplify.
(TARGET_FLOAT_FORMAT): Ditto.
(TARGET_DOUBLE_FORMAT):
* remote-e7000.c, sh-tdep.c, printcmd.c, remote-sim.c,
remote-rdi.c, sparc-tdep.c: Update.
* config/powerpc/tm-ppcle-eabi.h, config/rs6000/tm-rs6000.h,
config/powerpc/tm-ppc-eabi.h, config/mn10300/tm-mn10300.h:
Convert.
Sat Dec 12 09:28:13 1998 Andrew Cagney <cagney@b1.cygnus.com>
* frame.h (struct frame_info): Add CORE_ADDR *saved_regs and
struct frame_extra_info *extra_info.
(frame_obstack_alloc, frame_saved_regs_zalloc): Prototype.
(SIZEOF_FRAME_SAVED_REGS): Provide default.
(FRAME_INIT_SAVED_REGS): Provide default.
(struct frame_saved_regs): Deprecate.
(EXTRA_FRAME_INFO): Deprecate.
* blockframe.c (frame_obstack_alloc, frame_saved_regs_zalloc): New
function.
(generic_get_saved_register): Use FRAME_INIT_SAVED_REGS and
frame->saved_regs.
(frame_cache_obstack): Make static.
(get_frame_saved_regs): Deprecate. Copy the saved regs into the
frame buffer.
* stack.c (frame_info): Rewrite using frame->saved_regs and
FRAME_INIT_SAVED_REGS.
* findvar.c (find_saved_register): Ditto.
* config/mn10300/tm-mn10300.h (EXTRA_FRAME_INFO): Delete.
(FRAME_FIND_SAVED_REGS): Replace with FRAME_INIT_SAVED_REGS. No-op.
* mn10300-tdep.c: Update.
(analyze_dummy_frame): New function.
(struct frame_extra_info): Define.
(mn10300_init_extra_frame_info): Update.
* config/rs6000/tm-rs6000.h: (EXTRA_FRAME_INFO): Delete.
(FRAME_FIND_SAVED_REGS): Replace with FRAME_INIT_SAVED_REGS.
(FRAME_ARGS_ADDRESS): Replace with function.
* rs6000-tdep.c (frame_get_saved_regs): Rename from
frame_get_cache_fsr.
(rs6000_init_extra_frame_info): New function.
(rs6000_frame_init_saved_regs): Call frame_get_saved_regs.
(FUNCTION_START_OFFSET): Delete references, was ZERO.
(rs6000_frame_args_address): New function.
(frame_initial_stack_address): Update
* config/mips/tm-mips.h (EXTRA_FRAME_INFO): Remove saved_regs.
(FRAME_INIT_SAVED_REGS): Rename FRAME_FIND_SAVED_REGS, update.
* mips-tdep.c (mips_find_saved_regs, read_next_frame_reg,
init_extra_frame_info, mips_pop_frame): Update.
* config/alpha/tm-alpha.h (FRAME_INIT_SAVED_REGS,
EXTRA_FRAME_INFO), alpha-tdep.c (alpha_find_saved_regs,
alpha_pop_frame, init_extra_frame_info): Ditto.
* i960-tdep.c, m88k-tdep.c, h8300-tdep.c: Update.
* config/sparc/tm-sparc.h, config/a29k/tm-a29k.h: Define
FRAME_INIT_SAVED_REGS as no-op.
* z8k-tdep.c (z8k_init_frame_saved_regs): Rename
get_frame_saved_regs.
(examine_frame, z8k_skip_prologue): Update.
* config/z8k/tm-z8k.h (FRAME_INIT_SAVED_REGS): Define.
1998-12-11 Fernando Nasser <fnasser@totem.to.cygnus.com>
From J.T. Conklin <jtc@redbacknetworks.com>:
* i386-stub.c (handle_exception): Add support for 'P' command.
(NUMREGS): New macro.
Fri Dec 11 09:07:05 1998 Andrew Cagney <cagney@b1.cygnus.com>
* i386b-nat.c: Include "expression.h".
* symtab.h: Don't include "gnu-regex.h".
* solib.c (solib_add_common_symbols): Cast parameters passed to
make_cleanup to use the new make_cleanup_func typedef.
* inftarg.c: Include "wait.h" after, rather than before, <wait.h>.
"wait.h" was defining all WIF* macro's instead of filling in those
that <wait.h> missed.
Fri Dec 11 09:52:04 1998 Andrew Cagney <cagney@chook>
* mipsm3-nat.c, hppah-nat.c, infptrace.c, i386gnu-nat.c,