and vax-tdep.h.
* vax-tdep.h: New file.
* vax-tdep.c: Include inferior.h, arch-utils.h, and vax-tdep.h.
Make several routines static.
(vax_get_saved_register): New function.
(vax_gdbarch_init): New function.
(_initialize_vax_tdep): Register vax_gdbarch_init.
* config/vax/tm-vax.h: Set GDB_MULTI_ARCH to GDB_MULTI_ARCH_PARTIAL.
Remove macros now under the control of gdbarch.
(vax_extract_return_value): Ditto.
(vax_store_return_value): Ditto.
(vax_extract_struct_value_address): Ditto.
* config/vax/tm-vax.h (STORE_STRUCT_RETURN): Use
vax_store_struct_return.
(EXTRACT_RETURN_VALUE): Use vax_extract_return_value.
(STORE_RETURN_VALUE): Use vax_store_return_value.
(EXTRACT_STRUCT_VALUE_ADDRESS): Use vax_extract_struct_value_address.
(vax_frame_args_address_correct): Ditto.
(vax_frame_args_address): Ditto.
(vax_frame_locals_address): Ditto.
(vax_frame_num_args): Move code to be in proximity to
other frame-related functions.
* config/vax/tm-vax.h (INNER_THAN): Use core_addr_lessthan.
(FRAME_SAVED_PC): Use vax_frame_saved_pc.
(FRAME_ARGS_ADDRESS_CORRECT): Use vax_frame_args_address_correct.
(FRAME_ARGS_ADDRESS): Use vax_frame_args_address.
(FRAME_LOCALS_ADDRESS): Use vax_frame_locals_address.
* symfile.c (get_section_index): New function.
* mdebugread.c (SC_IS_SBSS): New macro.
(SC_IS_BSS): Return true for the scBss storage class only, as
the scSBss storage class refers to the .sbss section.
(parse_partial_symbols): Discard the symbols which associated
section does not exist.
Make sure to use the .sbss section index for symbols which
storage class is scBss, rather than using the .bss section index.
* symfile.c (get_section_index): New function.
* mdebugread.c (SC_IS_SBSS): New macro.
(SC_IS_BSS): Return true for the scBss storage class only, as
the scSBss storage class refers to the .sbss section.
(parse_partial_symbols): Discard the symbols which associated
section does not exist.
Make sure to use the .sbss section index for symbols which
storage class is scBss, rather than using the .bss section index.
* sparc-tdep.h: New file.
* sparc-tdep.c (elf-bfd.h): Include.
(SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REGNUM,
SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET, gdbarch_tdep,
CALL_DUMMY_CALL_OFFSET): Move out to sparc-tdep.h
(sparc_dump_tdep): New function.
(_initialize_sparc_tdep): Use gdbarch_register instead of
register_gdbarch_init which is deprecated.
(process_note_abi_tag_sections, sparc_abi_handler,
sparc_abi_handler_list, sparc_gdbarch_register_os_abi): New.
(sparc_gdbarch_init): Determine elf os ident key based upon
either the elf header or by using process_note_abi_tag_sections.
Fix 'gdbarch already exists' test by comparing os_ident as well.
As the last action, invoke OS abi_handler if installed.
alpha-tdep.h.
(alphafbsd_use_struct_convention): Make static.
(alphafbsd_init_abi): New function.
(_initialize_alphafbsd_tdep): New function.
* config/alpha/tm-fbsd.h: Update copyright years.
(USE_STRUCT_CONVENTION): Remove.
an Alpha ABI variant.
(alpha_abi_handler_list): Declare.
(alpha_gdbarch_register_os_abi): New function.
(alpha_gdbarch_init): Give registered ABI variant handlers a
chance to tweak the gdbarch once we have set up defaults.
* alpha-tdep.h: Prototype alpha_gdbarch_register_os_abi.
* alpha-tdep.c (heuristic_proc_start): Use vm_min_address
from gdbarch_tdep rather than a constant.
(alpha_gdbarch_init): Initialize tdep->vm_min_address to
the default text address for all Alpha Unix ABIs.
(alpha_dump_tdep): Report the value of tdep->vm_min_address.
* config/alpha/tm-alpha.h (VM_MIN_ADDRESS): Delete.
taken from...
* config/alpha/tm-alpha.h: ...here. Remove macros that we now
let gdbarch deal with.
(GDB_MULTI_ARCH): Define as GDB_MULTI_ARCH_PARTIAL.
* Makefile.in (alpha-nat.o): Add alpha-tdep.h and $(BFD_SRC)/elf-bfd
to dependency list.
* alpha-nat.c: Include alpha-tdep.h. Update for adjusted
Alpha target register names.
* alphabsd-nat.c: Likewise.
* alpha-tdep.c: Include alpha-tdep.h. Update for adjusted
Alpha target register names. Make serveral routines static.
(alpha_get_saved_register): New function.
(alpha_abi_names): New.
(process_note_abi_tag_sections): New function.
(get_elfosabi): New function.
(alpha_gdbarch_init): New function.
(alpha_dump_tdep): New function.
(_initialize_alpha_tdep): Register alpha_gdbarch_init.
* config/sparc/tm-linux.h (GDB_MULTI_ARCH): Define to
GDB_MULTI_ARCH_PARTIAL
* config/sparc/tm-sp64linux.h (GDB_MULTI_ARCH): Do not
define, let tm-sp64.h do it.
instead of ->prev.
* z8k-tdep.c (z8k_frame_chain): Do not use ->prev.
* s390-tdep.c (s390_frame_chain): Do not use ->prev.
* rs6000-tdep.c (frame_get_saved_regs): Use rs6000_frame_chain()
instead of ->prev.
Fix PR gdb/471.
* gdbtypes.c (init_simd_type): Rewrite using new functions.
(build_builtin_type_vec128): Ditto..
(append_composite_type_field): Fix calculation of type length in
union case.
* gcore.c (default_derive_heap_segment): Use bfd_section_name.
If no symbol found for "sbrk", try "_sbrk".
(make_output_phdrs): Use bfd_section_name.
(gcore_copy_callback): Use bfd_section_name.
* cli/cli-cmds.c (init_cli_cmds): Add new user settable value:
max_user_call_depth.
(init_cmd_lists): Initialize the new value;
* cli/cli-script.c (execute_user_command): Limit the call depth of
user defined commands. This avoids a core-dump when user commands
are infinitly recursive.
* gdbserver/linux-low.c (usr_store_inferior_registers): Support
registers which are allowed to fail to store.
* gdbserver/linux-low.h (linux_target_ops): Likewise.
* gdbserver/linux-ppc-low.c (ppc_regmap): Support FPSCR.
(ppc_cannot_store_register): FPSCR may not be storable.
* regformats/reg-ppc.dat: Support FPSCR.
specified level are as expected.
* blockframe.c (get_prev_frame): Set the `level' from next_frame.
Update copyright.
* frame.h (struct frame_info): Add field `level'. Update
copyright.
Work-in-progress PR gdb/464.
(PTRACE_XFER_TYPE): Moved to config/i386/nm-x86-64.h.
(kernel_u_size): Added.
* config/i386/nm-x86-64.h (CHILD_XFER_MEMORY, CHILD_RESUME): Delete.
(PTRACE_XFER_TYPE): Moved here from config/i386/nm-x86-64.h.
* gdb.c++/local.cc (main): Move call to marker1() inside nested
scope so that the nested scope tests will make sense.
* gdb.c++/local.exp: Write patterns that actually work with gcc
(the HP patterns "were never known to work with gcc").
Keep the old aCC patterns too.
* valarith.c (find_size_for_pointer_math): New function, either returns
the size for a pointer's target, returns 1 for void *, or errors for
incomplete types.
(value_add, value_sub): use find_size_for_pointer_math.
* linux-low.h: Remove obsolete prototypes.
(struct linux_target_ops): New.
(extern the_low_target): New.
* linux-low.c (num_regs, regmap): Remove declarations.
(register_addr): Use the_low_target explicitly.
(fetch_register): Likewise.
(usr_fetch_inferior_registers): Likewise.
(usr_store_inferior_registers): Likewise.
* linux-arm-low.c (num_regs): Remove.
(arm_num_regs): Define.
(arm_regmap): Renamed from regmap, made static.
(arm_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(arm_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-i386-low.c (num_regs): Remove.
(i386_num_regs): Define.
(i386_regmap): Renamed from regmap, made static.
(i386_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(i386_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-ia64-low.c (num_regs): Remove.
(ia64_num_regs): Define.
(ia64_regmap): Renamed from regmap, made static.
(ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(ia64_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-m68k-low.c (num_regs): Remove.
(m68k_num_regs): Define.
(m68k_regmap): Renamed from regmap, made static.
(m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(m68k_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-mips-low.c (num_regs): Remove.
(mips_num_regs): Define.
(mips_regmap): Renamed from regmap, made static.
(mips_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(mips_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-ppc-low.c (num_regs): Remove.
(ppc_num_regs): Define.
(ppc_regmap): Renamed from regmap, made static.
(ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(ppc_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-s390-low.c (num_regs): Remove.
(s390_num_regs): Define.
(s390_regmap): Renamed from regmap, made static.
(s390_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(s390_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-sh-low.c (num_regs): Remove.
(sh_num_regs): Define.
(sh_regmap): Renamed from regmap, made static.
(sh_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(sh_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
(the_low_target): New.
* breakpoint.c (clear_command): Rewrite middle section to
combine two loops with identical control conditions.
Add a cleanup to eliminate a memory leak.
rs6000_breakpoint_from_pc() to fetch breakpoint instruction
and size. Use target_insert_breakpoint() and
target_remove_breakpoint() to insert and remove breakpoints
instead of explicit memory reads and writes.
* gdb.c++/method.exp: Require "const ... A * ..." for "ptype this"
in a const method. Add some xfail and fail cases for configurations
that do not emit the "const ...".
* gdb.c++/method.exp: Use gdb_test instead of send_gdb/gdb_expect.
Accept "A * const" and "const A * const" as type of "this".
Fix spelling of getFunky throughout. Make messages uniform.
* mi-cmd-disas.c (dump_insns): New function.
(do_mixed_source_and_assembly): New function.
(do_assembly_only): New function.
(do_disassembly): New function.
(mi_cmd_disassemble): Rewrite using smaller, more modular
functions.
* gdb.asm/asm-source.exp: Build symbolic link to arch specific
instructions file at run time instead of configure time.
Sometimes we run the test in a directory that is not the one we
configured in.
* gdb.asm/configure.in: Delete creation of symlink.
* gdb.asm/configure: Regenerate.
prefered way of submitting bugs.
Fix PR gdb/402.
* gdb.texinfo (Bug Reporting): Document that the web is the
prefered way of submitting bug reports.
(Bug Reporting): Delete the s-mail address as the last resort.
* dwarf2cfi.c (cfi_write_fp): Document as not used.
* mips-tdep.c (mips_gdbarch_init): Do not set write_fp.
* ia64-tdep.c (ia64_gdbarch_init): Do not set write_fp.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set write_fp.
* rs6000-tdep.c (rs6000_gdbarch_init): Do not set write_fp.
* s390-tdep.c (s390_gdbarch_init): Do not set write_fp.
(s390_write_fp):
* sh-tdep.c (sh_gdbarch_init): Do not set write_fp.
* x86-64-tdep.c (i386_gdbarch_init): Do not set write_fp.
* d10v-tdep.c (d10v_gdbarch_init): Do not set write_fp.
(d10v_write_fp): Delete function.
* inferior.h (write_fp, generic_target_write_fp): Delete
declarations.
* regcache.c (generic_target_write_fp): Delete function.
(write_fp): Delete function.
* gdbarch.sh (TARGET_WRITE_FP): Delete.
* gdbarch.h, gdbarch.c: Regenerate.
* config/v850/tm-v850.h (TARGET_WRITE_FP): Delete macro.
* config/sparc/tm-sp64.h (TARGET_WRITE_FP): Delete macro.
(sparc64_write_fp): Delete declaration.
* config/h8500/tm-h8500.h (TARGET_WRITE_FP): Delete macro.
(h8500_write_fp): Delete declaration.
* stack.c (get_selected_block): Add new argument `addr_in_block',
used to return the exact code address we used to select the block,
not just the block.
* blockframe.c (get_frame_block, get_current_block): Same.
* frame.h (get_frame_block, get_current_block,
get_selected_block): Update declarations.
* linespec.c, stack.c, blockframe.c, breakpoint.c, findvar.c,
linespec.c, varobj.c, printcmd.c, symtab.c: Callers changed.
gdb/mi/ChangeLog:
* mi-cmd-stack.c (list_args_or_locals): Pass new arg to
get_frame_block. (See entry in gdb/ChangeLog.)
basename part of filenames when the associated file is a symbolic link.
This fixes a potential inconsistency between the filenames known to GDB
and the filenames it prints in the annotations.
* breakpoint.c: Add support for hardware breakpoints in overlays.
(overlay_events_enabled): New state variable.
(insert_breakpoints): Use overlay_events_enabled to decide
whether to attempt to set a breakpoint at the overlay load addr.
Handle bp_hardware_breakpoint as well as bp_breakpoint.
(remove_breakpoint): Use overlay_events_enabled to decide
whether breakpoints need to be removed from overlay load addr.
Handle bp_hardware_breakpoint as well as bp_breakpoint.
(bpstat_stop_status): Handle bp_hardware_breakpoint in overlays.
(create_overlay_event_breakpoint, enable_overlay_breakpoints,
disable_overlay_breakpoints): Update overlay_events_enabled.
* dwarf2read.c (struct function_range): New.
(cu_first_fn, cu_last_fn, cu_cached_fn): New.
(check_cu_functions): New.
(read_file_scope): Initialize global function lists.
Call dwarf_decode_line after processing children.
(read_func_scope): Add to global function list.
(dwarf_decode_lines): Call check_cu_functions everywhere
record_line is called. Call record_line with a linenumber
of 0 to mark sequence ends.