for buffers.
(m68hc11_pseudo_register_read): Likewise.
(m68hc11_return_value): Likewise.
(m68hc11_frame_prev_register): Likewise.
(m68hc11_frame_align): Remove as its seems no longer necessary.
(m68hc11_gdbarch_init): Don't install frame_align handler.
(m68hc11_scan_prologue): Fix crash that occurred when called from
m68hc11_skip_prologue
* hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
hppa_linux_{store,fetch}_inferior_registers instead of
arm_linux_{store,fetch}_inferior_registers.
* main.c (captured_main): Define struct cmdarg. Change type of cmdarg.
Add new options --eval-command and alias -ex.
Adjust --command to use the new struct cmdarg.
Execute commands given with --eval-command.
(print_gdb_help): Add new options --eval-command, -ex and mention -x.
docs/
* gdb.texinfo (Choosing files): Add --eval-command.
* main.c (main): Use INTERP_TUI instead of "tui".
Set interpreter to INTERP_INSIGHT when '-w' given.
* interps.h (INTERP_INSIGHT): New define.
* tui/tui-interp.c (_initialize_tui_interp): Use INTERP_TUI instead
of "tui".
Checked in by Elena Zannoni <ezannoni@redhat.com>
* dwarf2read.c (read_structure_type): Add IBM XL C++
specific code to set TYPE_VPTR_FIELDNO and TYPE_VPTR_BASETYPE
of a virtual class if a field named "__vfp" is found.
Checked in by Elena Zannoni <ezannoni@redhat.com>
* dwarf2read.c (file_full_name): Cope with file numbers that are
out of range for the given line header.
Checked in by Elena Zannoni <ezannoni@redhat.com>
* elfread.c (elf_symtab_read): Add number_of_symbols and
symbol_table as arguments. Do not load the symbol table
here.
(elf_symfile_read): Load the static and dynamic symbol tables
here, before calling elf_symtab_read. Also load any synthetic
symbols and process those.
* tui/tui-data.h (tui_line_or_address): Encapsulate the union in a
struct with a tag.
(tui_source_element, tui_source_info): Update.
* tui/tui-disasm.c, tui/tui-source.c: Update to use the tagged union.
* tui/tui-source.h, tui/tui-stack.c, tui/tui-win.c: Likewise.
* tui/tui-winsource.c, tui/tui-data.c, tui/tui-layout.c: Likewise.
* tui/tui-winsource.h: Likewise.
(_CYGWIN_SIGNAL_STRING): Define if not already defined in cygwin.h.
(win32_add_thread): Use XZALLOC rather than xmalloc/memset.
(register_loaded_dll): Ditto.
(handle_load_dll): Call solib_add here.
(handle_unload_dll): Ditto.
(info_dll_command): Delete.
(handle_output_debug_string): Use official _CYGWIN_SIGNAL_STRING.
(win32_current_sos): Duplicate table to pass off to caller rather than deleting
our version.
(set_win32_aliases): New function.
(_initialize_win32_nat): Remove local handling of "info shared". Set
deprecated_init_ui_hook to allow late setting of "info dll" alias.
(solib_symbols_add): New function.
(lm_info): Remove end_addr field.
(register_loaded_dll): Don't try to find end_addr since gdb will do this
automatically now. Make so_original_name == so_name for now. Eliminate strcpy
by using so_name directly. Read in symbols if new paramater "readsyms" is
true.
(handle_load_dll): Pass auto_solib_add to register_loaded_dll to control when
symbols should be read.
(win32_free_so): Don't free objfile here.
(win32_create_inferior_hook): New function.
(handle_unload_dll): Remove left-over cruft.
(win32_special_symbol_handling): New (dummy) function.
(map_single_dll_code_section): Reinstate.
(dll_code_sections_add): Reinstate.
(core_section_load_dll_symbols): Reinstate. Don't issue an error on duplicate
attempts to read same dll. Make sure that UNIX-like name is used to register
DLL.
(win32_current_sos): Handle core files. Reset private list before passing
start of list pointer to gdb.
(init_win32_ops): Fill out (currently unused) solib_create_inferior_hook. Fill
out special_symbol_handling.
* config/i386/tm-cygwin.h: Remove most special solib stuff.
floatformat_vax.
(convert_doublest_to_floatformat): Use
floatformat_normalize_byteorder to swap bytes if necessary.
* vax-tdep.c: Include floatformat.h.
(vax_gdbarch_init): Set float_format, double_format,
long_double_format and long_double_bit.
* Makefile.in (vax-tdep.o): Update dependencies.
* win32-nat.c (win32_ops): New variable.
(win32_so_ops): Ditto.
(psapi_get_dll_name): Make function static.
(struct so_stuff): Delete.
(struct lm_info): New struct.
(solib_start, solib_end): Redefine as struct so_list.
(safe_symbol_file_add_stub): Use so_list rather than so_stuff.
(register_loaded_dll): Ditto. Special-case ntdll.dll. Fill in lm_info field
of so_list with information previously stored in so_stuff.
(get_image_name): Make function static.
(max_dll_name_len): Make variable static.
(win32_free_so): New function.
(win32_current_sos): Ditto.
(win32_relocate_section_addresses): Ditto.
(handle_unload_dll): Use so_list rather than so_stuff. Call free_so to delete
shared library.
(solib_address): Delete function.
(child_solib_loaded_library_pathname): Ditto.
(win32_clear_solib): Rename from child_clear_solibs. Use so_list rather than
so_stuff. Just clear win32-specific stuff.
(get_relocated_section_addrs): Delete.
(solib_symbols_add): Ditto.
(info_dll_command): Make static. Use lm_info field from so_list to retrieve
load address.
(fake_create_process): Make function static.
(win32_xfer_memory): Ditto.
(win32_kill_inferior): Ditto.
(win32_resume): Ditto.
(cygwin_pid_to_str): Ditto.
(do_initial_win32_stuff): Use win32_ops rather than deprecated_child_ops.
(child_detach): Ditto.
(win32_mourn_inferior): Ditto.
(_initialize_win32_nat): Ditto.
(init_win32_ops): Ditto. Fill out win32_so_ops and set current_target_so_ops
to win32_so_ops.
(core_dll_symbols_add): Delete.
(map_single_dll_code_section): Ditto.
(dll_code_sections_add): Ditto.
(core_section_load_dll_symbols): Ditto.
(child_solib_add): Ditto.
* language.h (language_defn): New field la_print_array_index.
(LA_PRINT_ARRAY_INDEX): New macro.
(default_print_array_index): Add declaration.
* language.c (default_print_array_index): new function.
(unknown_language): Add value for new field.
(auto_language): Likewise.
(local_language): Likewise.
* ada-lang.c (ada_print_array_index): New function.
(ada_language_defn): Add value for new field.
* c-lang.c (c_language_defn): Likewise.
(cpluc_language_defn): Likewise.
(asm_language_defn): Likewise.
(minimal_language_defn): Likewise.
* f-lang.c (f_language_defn): Likewise.
* jv-lang.c (java_language_defn): Likewise.
* m2-lang.c (m2_language_defn): Likewise.
* objc-lang.c (objc_language_defn): Likewise.
* p-lang.c (pascal_language_defn): Likewise.
* scm-lang.c (scm_language_defn): Likewise.
* valprint.h (print_array_indexes_p): Add declaration.
(get_array_low_bound): Add declaration.
(maybe_print_array_index): Add declaration.
* valprint.c (print_array_indexes): New static variable.
(show_print_array_indexes): New function.
(print_array_indexes_p): New function.
(get_array_low_bound): New function.
(maybe_print_array_index): New function.
(val_print_array_elements): Print the index of each element if
requested by the user.
(_initialize_valprint): Add new array-indexes "set/show print" command.
* ada-valprint.c (print_optional_low_bound): Replace extracted code
by call to ada_get_array_low_bound_and_type(). Stop printing the low
bound if indexes will be printed for all elements of the array.
(val_print_packed_array_elements): Print the index of each element
of the array if necessary.
2005-09-26 Jan Beulich <jbeulich@novell.com>
* amd64-tdep.h (AMD64_FCTRL_REGNUM, AMD64_FSTAT_REGNUM,
AMD64_MXCSR_REGNUM): New.
* amd64-tdep.c (amd64_dwarf_regmap): Add eflags, selector regs,
mxcsr, fp control and status words.
* i386-tdep.c (): Add selector regs, mxcsr, fp control and status
words.
* arm-tdep.c (arm_type_align): New function.
(arm_push_dummy_call): Use it. Ensure proper argument alignment.
(arm_extract_struct_value_address): Remove.
(arm_use_struct_convention): Rename...
(arm_return_in_memory): ... To this. Return nonzero for all small
aggregates under the EABI.
(arm_return_value): New function.
(arm_gdbarch_init): Default for VFP float model for EABI binaries.
Use set_gdbarch_return_value instead of obsolete functions.
* testsuite/long_long.exp: Exclude eabi targets from arm FPA float
format test.
subrange.
* f-lang.h (enum f90_range_type): New enumeration type to identify
F90 subrange type.
* f-exp.y (yyparse): Add support for parsing F90 subrange and
change substring parsing to subrange parsing.
* parse.c (operator_length_standard): Set the operator length
and args number for OP_F90_RANGE.
* eval.c (evaluate_subexp_standard): Add code to evaluate F90
array section and substring.
(value_f90_subarray): New function to evaluate F90 array section.
(evaluate_subexp_standard): Delete label op_f77_substr and its code
because the logic is implemented by function value_f90_subarray now.
'info powerpc' command prefix.
* gdb.arch/altivec-regs.exp (info powerpc altivec): Replace the 'info
powerpc altivec' test with an almost identical 'info vector' test.
(alpha-linux-nat.o, sparc-linux-nat.o): New rules.
(amd64-linux-nat.o, arm-linux-nat.o, hppa-linux-nat.o)
(i386-linux-nat.o, ia64-linux-nat.o, linux-nat.o, m32r-linux-nat.o)
(m68klinux-nat.o, mips-linux-nat.o, ppc-linux-nat.o, s390-nat.o)
(sparc64-linux-nat.o): Update dependencies.
* alpha-linux-nat.c, sparc-linux-nat.c: New files.
* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(amd64_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(amd64_linux_child_post_start_inferior): Renamed from
child_post_startup_inferior and made static. Call
super_post_startup_inferior.
(super_post_startup_inferior): New.
(_initialize_amd64_linux_nat): Set it. Call linux_target and
add_target.
* arm-linux-nat.c (arm_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(arm_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_arm_linux_nat): Add a prototype. Use linux_target and
add_target.
* hppa-linux-nat.c (hppa_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(hppa_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_hppa_linux_nat): New function.
* i386-linux-nat.c (i386_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(i386_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(i386_linux_resume): Renamed from child_resume and made static.
(i386_linux_child_post_start_inferior): Renamed from
child_post_startup_inferior and made static. Call
super_post_startup_inferior.
(super_post_startup_inferior): New.
(_initialize_i386_linux_nat): New function.
* i386-nat.c: Remove LINUX_CHILD_POST_STARTUP_INFERIOR #ifndef.
* ia64-linux-nat.c (ia64_linux_xfer_unwind_table): Remove.
(super_xfer_partial): New.
(ia64_linux_xfer_partial): New function. Use it.
(_initialize_ia64_linux_nat): New function.
* ia64-tdep.c (getunwind_table): Revert 2005-06-08 change; use
target_read_partial and document the problem.
* inf-ptrace.c (inf_ptrace_fetch_register): Use
CANNOT_FETCH_REGISTER. Fix some comments.
(inf_ptrace_store_register): Use CANNOT_STORE_REGISTER. Fix some
comments.
* linux-nat.c: Include "inf-ptrace.h" and "auxv.h".
(linux_ops, super_xfer_partial): New variables.
(linux_child_post_startup_inferior): Make static.
(child_post_startup_inferior): Delete.
(linux_nat_attach, linux_nat_detach, resume_callback)
(linux_nat_resume, linux_nat_wait, linux_nat_create_inferior)
(linux_nat_mourn_inferior): Use linux_ops instead of
deprecated_child_ops.
(child_wait): Do not depend on CHILD_WAIT.
(linux_nat_xfer_memory): Remove, replace by ...
(linux_nat_xfer_partial): ... this. Use linux_ops->to_xfer_partial
instead of linux_proc_xfer_memory and child_xfer_memory.
(linux_nat_fetch_registers, linux_nat_store_registers)
(linux_nat_child_post_startup_inferior): New functions.
(init_linux_nat_ops): Use the new functions.
(linux_proc_xfer_memory): Remove, replace by ...
(linux_proc_xfer_partial): ... this. Make static.
(linux_xfer_partial, linux_register_u_offset, linux_target): New
functions.
(_initialize_linux_nat): Do not modify deprecated_child_ops.
* linux-nat.h (linux_proc_xfer_memory): Remove prototype.
(struct mem_attrib, struct target_ops): Remove forward declarations.
(linux_child_post_startup_inferior): Remove prototype.
(linux_target): Add prototype.
* linux-thread-db.c (thread_db_xfer_memory): Remove, replace by ...
(thread_db_xfer_partial): ... this.
(init_thread_db_ops): Set to_xfer_partial instead of
deprecated_xfer_memory.
* m32r-linux-nat.c (m32r_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(m32r_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_m32r_linux_nat): New function.
* m68klinux-nat.c (m68k_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(m68k_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(old_fetch_inferior_registers, old_store_inferior_registers): Made
static.
(_initialize_m68k_linux_nat): Use linux_target and add_target.
* mips-linux-nat.c (_initialize_mips_linux_nat): New function.
* ppc-linux-nat.c (ppc_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(ppc_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_ppc_linux_nat): New function.
* s390-nat.c (s390_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(s390_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_s390_nat): New function.
* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
linux_target and add_target.
* config/nm-linux.h: Don't include "auxv.h".
(struct target_waitstatus, child_wait, CHILD_WAIT)
(CHILD_PID_TO_EXEC_FILE, CHILD_INSERT_FORK_CATCHPOINT)
(CHILD_INSERT_VFORK_CATCHPOINT, CHILD_INSERT_EXEC_CATCHPOINT)
(CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH, CHILD_FOLLOW_FORK)
(DEPRECATED_KILL_INFERIOR, NATIVE_XFER_AUXV): Delete.
* config/alpha/alpha-linux.mh (NATDEPFILES): Replace infptrace.o
and inftarg.o with inf-ptrace.o and alpha-linux-nat.o.
* config/sparc/linux.mh (NATDEPFILES): Replace infptrace.o and
inftarg.o with sparc-linux-nat.o.
* config/sparc/linux64.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o.
* config/arm/linux.mh (NATDEPFILES): Replace infptrace.o and
inftarg.o with inf-ptrace.o.
* config/i386/linux.mh (NATDEPFILES): Likewise.
* config/i386/linux64.mh (NATDEPFILES): Likewise.
* config/ia64/linux.mh (NATDEPFILES): Likewise.
* config/m32r/linux.mh (NATDEPFILES): Likewise.
* config/m68k/linux.mh (NATDEPFILES): Likewise.
* config/mips/linux.mh (NATDEPFILES): Likewise.
* config/pa/linux.mh (NATDEPFILES): Likewise.
* config/powerpc/linux.mh (NATDEPFILES): Likewise.
* config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
* config/s390/s390.mh (NATDEPFILES): Likewise.
* config/i386/nm-linux.h (DEPRECATED_CHILD_RESUME): Don't define.
(LINUX_CHILD_POST_STARTUP_INFERIOR): Don't define.
* config/i386/nm-linux64.h (LINUX_CHILD_POST_STARTUP_INFERIOR):
Don't define.
* config/ia64/nm-linux.h: Don't include "target.h".
(NATIVE_XFER_UNWIND_TABLE, ia64_linux_xfer_unwind_table): Remove.
* config/djgpp/fnchange.lst: Add alpha-linux-tdep.c,
alpha-linux-nat.c, sparc-linux-tdep.c, and sparc-linux-nat.c.
``gcc_p''. Adjust all callers.
(mn10300_store_return_value, mn10300_extract_return_value): Add new
parameter ``gdbarch''.
(mn10300_return_value): New function.
(mn10300_gdbarch_init): Delete old-style return value code calls.
Add call to set_gdbarch_return_value().
deprecated_push_arguments. Bail out early if push_dummy_call
isn't available.
* gdbarch.sh (deprecated_push_arguments): Delete. Adjust a few
comments accordingly.
* gdbarch.h, gdbarch.c: Regenerate.
* ppc-tdep.h (struct gdbarch_tdep): Better explanation of using
-1 for nonexistant registers.
* rs6000-tdep.c (rs6000_register_reggroup_p): Don't assume that
tdep->ppc_vr0_regnum and tdep->ppc_ev0_regnum are not -1.
DEPRECATED_STREQN.
* exec.c (exec_file_attach): Remove DEPRECATED_HPUX_TEXT_END.
* language.c (set_case_command, language_enum): Use strcmp instead
of DEPRECATED_STREQ.
* source.c (select_source_symtab): Sprinkle a few consts. Use
strcmp instead of DEPRECATED_STREQ.
include "tramp-frame.h".
(ppcobsd_sigtramp_cache_init): Remove function.
(ppcobsd_sigtramp): Remove variable.
(ppcobsd_page_size, ppcobsd_sigreturn_offset): New variables.
(ppcobsd_sigtramp_p): New function.
(ppcobsd_sigtramp_frame_cache, ppcobsd_sigtramp_frame_this_id)
(ppcobsd_sigtramp_frame_prev_register): New functions.
(ppcobsd_sigtramp_frame_unwind): New variable.
(ppcobsd_sigtramp_frame_sniffer): New function.
(ppcobsd_init_abi): Adjust to register new sigtramp sniffer
instead of the old one.
* Makefile.in (ppcobsd-tdep.o): Update dependencies.
* linux-nat.h (linux_proc_xfer_memory): Change type of "myaddr" a
"gdb_byte" pointer.
* linux-nat.c (linux_proc_xfer_memory): Update.
(get_signo): Cast signo to a "gdb_byte" pointer.
* i386-linux-nat.c (child_resume): Make "buf" a gdb_byte, delete
redundant casts.
(child_resume): Cast eflags to a "gdb_byte" pointer.
instead of 8.
* m68kbsd-tdep.c: Include "frame.h", "trad-frame.h" and
"tramp-frame.h".
(m68kobsd_sigtramp_cache_init): New function.
(m68kbsd_aout_init_abi): Prepend m68kobsd_sigtramp unwinder.
2005-08-02 Fred Fish <fnf@specifix.com>
* defs.h (parse_frame_specification): Remove prototype.
* stack.c (parse_frame_specification): Add prototype and
make function static.
(frame_info): Move common code outside if..then..else.
* defs.h (print_transfer_performance): Update prototype.
* m32r-rom.c (m32r_load, m32r_upload_command): Use gettimeofday
for print_transfer_performance.
* remote-m32r-sdi.c (m32r_load): Likewise.
* symfile.c (generic_load): Likewise.
(report_transfer_performance): Create a dummy struct timeval.
(print_transfer_performance): Use a more accurate measure
of performance.
defined.
* inf-ptrace.c: Tweak comments.
(inf_ptrace_me): Use PT_TRACE_ME instead of hardcoded zero.
(inf_ptrace_mourn_inferior): Call waitpid.
(inf_ptrace_attach): Use pid_t, Remove unnecessary cast.
(inf_ptrace_detach): Use pid_t. Use ptid_get_pid instead of
PIDGET.
(inf_ptrace_kill): Rename from inf_ptrace_kill_inferior. Use
pid_t. Use ptid_get_pid instead of PIDGET.
(inf_ptrace_kill): Call waitpid instead of wait.
(inf_ptrace_resume): Use pid_t. Use ptid_get_pid instead of
PIDGET.
(inf_ptrace_wait): Use waitpid instead wait. Use pid_t. Don't
call target_has_exited or target_thread_alive. Properly ignore
terminated detached child processes.
(inf_ptrace_has_exited): Remove function.
(inf_ptrace_xfer_partial): Use pid_t. Use ptid_get_pid instead of
PIDGET. Use gdb_byte instead of `unsigned char'.
(inf_ptrace_thread_alive): Use ptid_get_pid instead of PIDGET.
(inf_ptrace_pid_to_str): Remove function.
(inf_ptrace_target): Use inf_ptrace_kill instead of
inf_ptrace_kill_inferior. Use normal_pid_to_str instead of
inf_ptrace_pid_to_str. Don't set to_has_exited.
(inf_ptrace_fetch_register, inf_ptrace_store_register): Reformat
long lines.
(inf_ttrace_follow_fork): New function.
(inf_ttrace_him, inf_ttrace_attach): Ask for TTEVT_FORK and
TTEVT_VFORK events. Replace TTEO_NOSTRCHLD option with
TTEO_PROC_INHERIT.
(inf_ttrace_create_inferior, inf_ttrace_attach): Add checks for
inf_ttrace_vfork_ppid.
(inf_ttrace_kill_inferior, inf_ttrace_detach): Detach from waiting
parent if appropriate.
(inf_ttrace_wait): Handle TTEVT_FORK and TTEVT_VFORK.
(inf_ttrace_target): Set to_follow_fork.
last argument to `gdb_byte *'.
* hppa-tdep.c (hppa32_convert_from_func_ptr_addr): Rewrite.
(hppa_frame_prev_register_helper): Change types of last argument
to `gdb_byte *'.
* hppa-hpux-tdep.c (hppa_hpux_sigtramp_frame_prev_register):
Change types of last argument to `gdb_byte *'.
Daniel Jacobowitz <dan@codesourcery.com>
* mi/mi-cmds.h (mi_no_values, mi_simple_values, mi_all_values): New
declarations.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Use string
constants instead of literals for MI command options.
* mi/mi-cmd-var.c (mi_no_values, mi_simple_values, mi_all_values):
New variables.
(mi_parse_values_option, mi_print_value_p): New functions.
(mi_cmd_var_list_children): Use mi_parse_values_option and
mi_print_value_p.
(mi_cmd_var_update): Support a PRINT_VALUES option. Update calls
to varobj_update_one.
(varobj_update_one): Take a print_values argument. Call
mi_print_value_p.
* varobj.c (varobj_get_gdb_type): New function.
* varobj.h (varobj_get_gdb_type): New prototype.
(struct dwarf_expr_context): Use `gdb_byte *' in read_mem and
get_frame_base function pointers.
(read_uleb128, read_sleb128): Change return type and types of
first two arguments to `gdb_byte *'.
(dwarf2_read_address): Change types of first two arguments to
`gdb_byte *'.
* dwarf2expr.c: Tweak comment.
(dwarf_expr_eval): Change type of second argument to `gdb_byte *'.
(read_uleb128, read_sleb128): Change return type and types of
first two arguments to `gdb_byte *'.
(dwarf2_read_address): Change types of first two arguments to
`gdb_byte *'.
(execute_stack_op): Change types of last two arguments to
`gdb_byte *'. Use `gdb_byte *' for byte buffers.
* dwarf2loc.h: Tweak comment.
(struct dwarf2_locexpr_baton, struct dwarf2_loclist_baton): Use
`gdb_byte *' for byte buffers.
* dwarf2loc.c (find_location_expression): Change return type to
`gdb_byte *'. Use `gdb_byte *' for byte buffers. Change length
to `unsigned int'.
(dwarf_expr_read_reg): Use `gdb_byte *' for byte buffer. Remove
bogus cast.
(dwarf_expr_read_mem): Change type of second argument to
`gdb_byte *'.
(dwarf_expr_frame_base): Change type of second argument to
`gdb_byte **'.
(dwarf2_evaluate_loc_desc): Change type of third argument to
`gdb_byte *'.
(needs_frame_read_mem): Change type of second argument to
`gdb_byte *'.
(needs_frame_frame_base): Change type of second argument
`gdb_byte **'. Use gdb_byte for lit0.
(dwarf2_tracepoint_var_ref): Change type of fourth argument to
`gdb_byte *'. Use `gdb_byte *' for byte buffer.
(loclist_read_variable, loclist_tracepoint_var_ref): Use `gdb_byte
*' for byte buffer.
* dwarf2-frame.c (struct dwarf2_cie, struct dwarf2_fde)
(struct dwarf2_frame_state): Use gdb_byte instead of `unsigned
char'.
(read_reg): Use `gdb_byte *' for byte buffers. Remove redundant
cast.
(read_mem): Change second argument to `gdb_byte *'.
(no_get_frame_base): Change second argument to `gdb_byte **'.
(execute_stack_op): Change first argument to `gdb_byte *'.
(execute_cfa_program): Change first two arguments to `gdb_byte *'.
Use gdb_byte instead of `unsigned int'. Use temprorary variable
to store result of read_uleb128.
(struct comp_unit): Use `gdb_byte *' for byte buffers.
(read_1_byte, read_4_bytes, read_8_bytes): Change last argument to
`gdb_byte *'.
(read_unsigned_leb128, read_signed_leb128): Change second argument
to `gdb_byte *'. Use gdb_byte instead of `unsigned char'.
(read_initial_length): Change second argument to `gdb_byte *'.
Remove redundant casts.
(read_encoded_value): Use gdb_byte instead of `unsigned char'.
Remove bogus casts.
(decode_frame_entry_1): Change return type and second argument to
`gdb_byte *'. Use `gdb_byte *' for byte buffers. Use gdb_byte
instead of `unsigned char'.
(decode_frame_entry): Change return type and second argument to
`gdb_byte *'. Use `gdb_byte *' for byte buffers.
(dwarf2_build_frame_info): Use `gdb_byte *' for byte buffers.
(bsd_kvm_corefile): New variable.
(core_kd, bsd_kvm_paddr, bsd_kvm_supply_pcb, bsd_kvm_ops): Make
static.
(bsd_kvm_open): Set bsd_kvm_corefile.
(bsd_kvm_files_info): New function.
(bsd_kvm_add_target): Set to_files_info.
(yylex): Add code to scan exponentiation operator.
* eval.c (evaluate_subexp_standard): Add support for BINOP_EXP.
* valarith.c (value_binop): Reset errno to 0 before calling pow
to do exponentiation operation.
type of first argument to `const gdb_byte *'.
(i387_print_float_info, i387_register_to_value)
(i387_value_to_register, i387_supply_fsave, i387_collect_fsave)
(i387_supply_fxsave, i387_collect_fxsave): Use gdb_byte for byte
buffers.
* amd64-tdep.c (amd64_sse_type): New.
(amd64_register_info): Use it for xmm registers. Constify.
(amd64_register_type): Initialize amd64_sse_type as needed.
"value.h" and "elf/common.h".
(hppabsd_supply_gregset): Use `gdb_byte *' for byte buffer.
(hppabsd_find_global_pointer): New function.
(hppabsd_init_abi): Set TDEP->find_global_pointer to
hppabsd_find_global_pointer.
* Makefile.in (hppabsd-tdep.o): Update dependencies.
* Makefile.in (symfile.o): Add $(exec_h).
* exec.h (exec_set_section_address): Add prototype.
* exec.c (exec_set_section_address): New function.
* symfile.c: Include "exec.h".
(struct place_section_arg, place_section): New.
(default_symfile_offsets): Call place_section for each
section of a relocatable file.
gdb/testsuite/
* gdb.base/relocate.c: Add a copyright notice.
(dummy): Remove.
* gdb.base/relocate.exp: Test printing the values of variables
from a relocatable file.
* mi/mi-main.c (register_changed_p, get_register): Use
get_selected_frame.
(mi_execute_command): Call mi_out_rewind after an error.
testsuite/
* gdb.mi/mi-syn-frame.exp, gdb.mi/mi2-syn-frame.exp: Don't expect
excess MI output after an error.
(hppa_fallback_frame_prev_register)
(hppa_stub_frame_prev_register): Change type of last argument to
`gdb_byte *'.
(hppa_fetch_pointer_argument): Tweak comment. Use
get_frame_register_unsigned instead of get_frame_register.
(hppa32_return_value, hppa64_return_value): Change type of readbuf
and writebuf arguments to `gdb_byte *'. Remove unecessary casts
and local variables.
(hppa_pseudo_register_read): Change type of last argument to
`gdb_byte *'.
(alpha_heuristic_frame_prev_register): Change type of last
argument to `gdb_byte *'.
(alpha_register_to_value, alpha_value_to_register)
(alpha_extract_return_value, alpha_store_return_value): Likewise.
* alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Likewise.
David Mosberger <davidm@hpl.hp.com>
* ia64-tdep.c (KERNEL_START): New macro.
(ia64_pseudo_register_read): Fix code to use libunwind to properly
get the rse registers.
(ia64_frame_this_id): Mark outermost frame with null frame id.
(ia64_sigtramp_frame_prev_register): Fix up debug output.
(ia64_access_rse_reg): New accessor function.
(ia64_access_mem): Add special logic for accessing the
kernel's unwind table.
(getunwind_table): Fix for corefiles.
(get_kernel_table): Fix to handle vDSO.
(ia64_libunwind_frame_this_id): Check for null frame id and
don't unwind past pc value of 0. Fix debugging output.
(ia64_libunwind_sigtramp_frame_this_id): New function.
(ia64_libunwind_sigtramp_frame_prev_register): Ditto.
(ia64_libunwind_sigtramp_frame_sniffer): Ditto.
(ia64_libunwind_sigtramp_frame_unwind): New unwinder.
(ia64_unw_rse_accessors): New libunwind accessors.
(ia64_libunwind_descr): Add ia64_unw_rse_accessors.
(ia64_gdbarch_init)[HAVE_LIBUNWIND_IA64_H]: Use
ia64_libunwind_sigtramp_frame_sniffer instead of
ia64_sigtramp_frame_sniffer.
* libunwind-frame.c (libunwind_frame_set_descr): Add
special register accessors.
(libunwind_frame_cache): Add special logic to check for
0 pc value. Check for a signal trampoline frame.
(libunwind_frame_this_id): Check if libunwind_frame_cache
returns NULL.
(libunwind_frame_prev_register): Check for NULL cache.
(libunwind_frame_base_address): Ditto.
(libunwind_sigtramp_frame_sniffer): New function.
(libunwind_get_reg_special): Ditto.
(libunwind_load): Add unw_is_signal_frame support.
* libunwind-frame.h (struct libunwind_descr): Add special_accessors
field.
(libunwind_sigtramp_frame_sniffer): New prototype.
(libunwind_get_reg_special): Ditto.
* MAINTAINERS (Can Commit Without Approval): New section,
previously burried under "Target Instruction Set Architectures".
Note that cagney "can commit" changes to powerpc-linux.
* frame.c (backtrace_limit): Change type to int.
(get_prev_frame): Update backtrace limit support.
(_initialize_frame): Use add_setshow_integer_cmd for backtrace_limit.
* jv-lang.c (get_java_utf8_name): Add cast.
(evaluate_subexp_java): Use gdb_byte for buffers.
* jv-valprint.c (java_value_print, java_value_print): Use gdb_byte
for buffers.
* scm-lang.c (scm_get_field, scm_unpack)
(scm_evaluate_string): Use gdb_byte for buffers.
(scm_lookup_name): Add cast.
* scm-valprint.c (scm_scmval_print, scm_scmval_print): Use
gdb_byte for buffers.
* tui/tui.h (tui_get_command_dimension): Make parameters unsigned.
* tui/tui.c (tui_get_command_dimension): Make parameters unsigned.
* value.h (check_field): Change "name" to a string.
* valops.c (check_field): Change "name" to a string.
* scm-lang.h (scm_parse): Use gdb_byte for buffers.
* source.c (get_current_source_symtab_and_line)
(set_current_source_symtab_and_line): Initialize all fields of sal
structures.
* cli/cli-cmds.c (list_command): Use gdb_byte for buffers.
* command.h (add_setshow_integer_cmd): Make VAR an integer.
* cli/cli-decode.c (add_setshow_integer_cmd): Update to match.
* valops.c (value_string): Add a cast.
* eval.c (evaluate_subexp_standard): Use gdb_byte for byte buffers.
* breakpoint.c (re_enable_breakpoints_in_shlibs): Use gdb_byte for
byte buffers.
* target.h (struct target_ops): For to_insert_hw_breakpoint and
to_remove_hw_breakpoint use gdb_byte for byte buffer parameters.
* breakpoint.h (struct bp_location): Make shadow_contents a
gdb_byte buffer.
* cli/cli-setshow.c (do_setshow_command): Fix cast.
* cli/cli-dump.c (restore_section_callback)
(restore_binary_file): Use gdb_byte for byte buffers.
* proc-service.c (ps_ptwrite, ps_ptread, ps_pdwrite): Fix casts.
(ps_xfer_memory): Use gdb_byte for byte buffers.
* tracepoint.c (mem2hex): Use gdb_byte for byte buffers, and char
for string buffers.
* ser-tcp.c (net_open): Make len a socklen_t.
(parse_partial_symbols): Use record_minimal_symbol to record
the new minimal symbols instead of prim_record_minimal_symbol
and prim_record_minimal_symbol_and_info.
Reorder includes. Don't require FETCH_INFERIOR_REGISTERS to be
defined.
(armnbsd_fetch_registers): Rename from armnbsd_fetch_registers.
Make static.
(armnbsd_store_registers): Rename from armnbsd_store_registers.
Make static.
(_initialize_arm_netbsd_nat): Construct and add target vector.
* Makefile.in (armnbsd-nat.o): Update dependencies.
* config/arm/nbsdaout.mh (NATDEPFILES): Remove infptrace.o and
intarg.o, add inf-ptrace.o.
(NAT_FILE): Set to solib.h.
* config/arm/nbsdelf.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o, add inf-ptrace.o.
(NAT_FILE): Remove.
* Makefile.in: Re-add v850-tdep.o dependencies.
* configure.tgt: Re-add v850.
* v850-tdep.c: Reorder code slightly. Add register number enumerator.
(struct v850_frame_cache): New structure.
(v850_processor_type_table): Remove. Move functionality into
v850_register_name, v850e_register_name and v850_gdbarch_init.
(v850_register_name): New function.
(v850e_register_name): New function.
(struct prologue_info): Remove definition.
(v850_register_type): New function.
(v850_type_is_scalar): New function.
(v850_use_struct_convention): Align to gcc behaviour.
(v850_handle_prepare): Renamed from handle_prepare. Change third
parameter to struct v850_frame_cache *.
(v850_handle_pushm): Renamed from handle_pushm. Change third parameter
to struct v850_frame_cache *.
(v850_is_save_register): New function to evaluate if a register is
caller-save.
(v850_analyze_prologue): Replace v850_scan_prologue. Change to support
new frame code.
(v850_init_extra_frame_info): Remove.
(v850_frame_chain): Remove.
(v850_find_callers_reg): Remove.
(v850_skip_prologue): Make static.
(v850_pop_frame): Remove.
(v850_frame_align): New function.
(v850_push_dummy_call): Replace v850_push_arguments.
(v850_push_return_address): Remove.
(v850_extract_return_value): New function.
(v850_store_return_value): New function.
(v850_return_value): New function.
(v850_frame_saved_pc): Remove.
(v850_breakpoint_from_pc): New function.
(v850_alloc_frame_cache): New function.
(v850_fix_call_dummy): Remove.
(v850_frame_cache): New function.
(v850_target_architecture_hook): Remove.
(v850_frame_prev_register): New function.
(v850_frame_this_id): New function.
(v850_frame_unwind): New structure.
(v850_frame_sniffer): New function.
(v850_unwind_sp): New function.
(v850_unwind_pc): New function.
(v850_unwind_dummy_id): New function.
(v850_frame_base_address): New function.
(v850_frame_base): New structure.
(v850_gdbarch_init): New function.
* config/v850/v850.mt: Undelete. Drop TM_FILE.
writebuf to `gdb_byte *'.
* sparc-nat.c (sparc_xfer_wcookie, sparc_xfer_partial): Change
type of readbuf and writebuf to `gdb_byte *'.
* bsd-uthread.c (bsd_uthread_xfer_partial): Change type of readbuf
and writebuf to `gdb_byte *'.
* inf-ptrace.c (inf_ptrace_xfer_partial): Change type of readbuf
and writebuf to `gdb_byte *'.
* bsd-kvm.c (bsd_kvm_xfer_memory): Replace.
(bsd_kvm_xfer_partial): New function.
(bsd_kvm_add_target): Set to_xfer_partial instead of
to_xfer_memory.
* bfd-target.c (target_bfd_xfer_partial): Change type of readbuf
and writebuf to `gdb_byte *'.
* target.c (deprecated_debug_xfer_memory): Remove prototype.
(deprecated_debug_xfer_memory): Change type of second argument to
`gdb_byte *'.
* remote.c (remote_xfer_memory): Remove prototype.
(remote_xfer_memory): Change type of second argument to `gdb_byte
*'.
(remote_xfer_partial): Change type of readbuf and writebuf to
`gdb_byte *'.
Change type of 'buf' argument to gdb_byte *.
(s390x_pseudo_register_read, s390x_pseudo_register_write): Likewise.
(s390_register_to_value): Change type of 'out' to gdb_byte *, change
type of 'in' to gdb_byte [].
(s390_value_to_register): Change type of 'in' to gdb_byte *, change
type of 'out' to gdb_byte [].
(s390_return_value): Change type of 'out' and 'in' to gdb_byte *.
(mips_pseudo_register_write): Change type of last argument to
`gdb_byte *'.
(mips_register_to_value, mips_value_to_register): Change type of
last argument to `gdb_byte *'. Remove casts that are no longer
needed.
(mips_fetch_instruction, fetch_mips_16): Use gdb_byte for buf.
(mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
(mips_o32_push_dummy_call, mips_o32_return_value): Use `const
gdb_byte *' for val and gdb_byte for valbuf. Remove casts that
are no longer needed.
(mips_eabi_return_value, mips_n32n64_return_value)
(mips_o32_return_value, mips_o64_return_value): Change type of
readbuf and writebuf arguments to `gdb_byte *'.
(mips_read_fp_register_single): Change type of last argument to
`gdb_byte *'. Use `gdb_byte *' for raw_buffer.
(mips_read_fp_register_double): Change type of last argument to
`gdb_byte *'.
(mips_print_fp_register): Use `gdb_byte *' for raw_buffer. Remove
casts that are no longer needed.
(mips_print_register, print_gp_register_row): Use gdb_byte for
raw_buffer. Remove casts that are no longer needed.
(mips_single_step_through_delay): Use gdb_byte for buf.
(mips_breakpoint_from_pc): Change return type to `const gdb_byte
*'. Use gdb_byte for mips16_big_breakpoint, big_breakpoint,
pmon_big_breakpoint, idt_big_breakpoint, mips16_little_breakpoint,
little_breakpoint, pmon_little_breakpoint and
idt_little_breakpoint.
(mips_integer_to_address): Use `gdb_byte *' for tmp.
gdb_byte for buf.
(sparc32_pseudo_register_read, sparc32_pseudo_register_write):
Change type of last argument to `gdb_byte *'. Remove casts that
are no longer needed.
(sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte
for buf.
(sparc_breakpoint_from_pc): Change return type to `const gdb_byte
*'. Use gdb_byte for break_insn.
(sparc32_extract_return_value, sparc32_store_return_value): Change
type of last argument to `gdb_byte *'. Use gdb_byte for buf.
(sparc32_return_value): Change type of readbuf and writebuf
arguments to `gdb_byte *'.
(sparc_software_single_step): Use gdb_byte for npc_save and
nnpc_save.
(sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for
buf.
(sparc32_supply_gregset, sparc32_collect_gregset)
(sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte
*' for regs.
* sparc64-tdep.c (sparc64_pseudo_register_read)
(sparc64_pseudo_register_write): Change type of last argument to
`gdb_byte *'. Remove casts that are no longer needed.
(sparc64_store_floating_fields, sparc64_extract_floating_fields):
Change type of valbuf argument to `gfd_byte *'.
(sparc64_store_arguments): Use `gdb_byte *' for valbuf. use
gdb_byte for buf.
(sparc64_extract_return_value, sparc64_store_return_value): Change
type of last argument to `gdb_byte *'. Use gdb_byte for buf.
(sparc64_return_value): Change type of readbuf and writebuf
arguments to `gdb_byte *'.
(sparc64_supply_gregset, sparc64_collect_gregset)
(sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte
*' for regs.
to `const gdb_byte *'. Use gdb_byte for break_insn.
(m68k_register_to_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for from.
(m68k_value_to_register): Change type of last argument to
`gdb_byte *'. Use gdb_byte for to.
(m68k_extract_return_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for buf. Remove unnecessary cast.
(m68k_svr4_extract_return_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for buf.
(m68k_store_return_value): Change type of last argument to
`gdb_byte *'. Remove unnecessary cast.
(m68k_svr4_store_return_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for buf.
(m68k_return_value, m68k_svr4_return_value): Change type of
readbuf and writebuf arguments to `gdb_byte *'.
(m68k_push_dummy_call, m68k_unwind_pc, m68k_frame_cache)
(m68k_unwind_dummy_id): Use gdb_byte for buf.
(m68k_get_longjmp_target): Use `gdb_byte *' for buf.
* m68kbsd-tdep.c (m68kbsd_supply_fpregset)
(m68kbsd_supply_gregset): Use `gdb_byte *' for regs.
`const gdb_byte *'. Use gdb_byte for break_insn.
(m88k_return_value): Change type of readbuf and
writebuf arguments to `gdb_byte *'. Use gdb_byte for buf.
(m88k_supply_gregset): Use `gdb_byte *' for regs.
writebuf arguments to `gdb_byte *'. Remove now redundant casts.
* i386-tdep.c (i386_return_value): Change type of readbuf and
writebuf arguments to `gdb_byte *'.
(i386_pseudo_register_read, i386_pseudo_register_write): Change
type of last argument to `gdb_byte *'.
(i386_register_to_value, i386_value_to_register): Change type of
last argument to `gdb_byte *'. Simplify function a bit.
* i387-tdep.h (i387_value_to_register, i387_register_to_value):
Change type of last argument to `gdb_byte *'.
* i387-tdep.c: Likewise.
* cris-tdep.c (usr_cmd_cris_version): Change type to int.
(cris_mode_normal, cris_mode_guru, cris_modes, usr_cmd_cris_mode): Add.
(struct gdbarch_tdep): Change type of cris_version to int. Add
cris_mode.
(cris_mode, set_cris_mode): New functions.
(crisv32_single_step_through_delay): Read from NRP register instead
of ERP register in guru mode.
(cris_breakpoint_from_pc): Rename break_insn to break8_insn.
Add break15_insn, returned in guru mode.
(_initialize_cris_tdep): Add call to add_setshow_enum_cmd for new
cris-mode setting.
(cris_dump_tdep): Add dump of cris_mode.
(cris_gdbarch_init): Add cris_mode to search criteria for architecture.
Register the sigtramp frame sniffer only if not in guru mode.