Total breakage identified by Joel Brobecker.
* mips-tdep.c (after_prologue): Delete.
(mips_skip_prologue): Use skip_prologue_using_sal.
(heuristic_proc_desc): Delete, unused.
(pv_is_array_ref): Remove.
(s390_on_stack): Remove.
(S390_NUM_SPILL_SLOTS): Remove.
(struct s390_prologue_data): Remove members 'spill' and 'back_chain',
add members 'gpr_slot', 'fpr_slot', and 'back_chain_saved_p'.
(s390_store): Track all stores of orginal incoming registers to the
stack constant offsets relative to the CFA, instead of only tracking
stores into specific spill slots.
(s390_load): Likewise.
(s390_analyze_prologue): Adapt to struct s390_prologue_data changes.
(s390_prologue_frame_unwind_cache): Likewise. Only track registers
defined as call-saved by the ABI.
(s390_push_dummy_call): Use bottom of dummy call argument save area
as return value, not the top. Do not store to the called function's
register save area.
(s390_unwind_dummy_id): Adapt accordingly.
* ada-exp.y, ada-lex.l: Use xmalloc and xrealloc through out.
* inf-ptrace.c: Include "gdb_wait.h" instead of <wait.h>.
* Makefile.in (.y.c, .l.c): Don't replace xmalloc with xxmalloc.
Update dependencies.
(ada_evaluate_subexp): Change error message for
OP_FUNCALL case so as not to indicate an internal error.
From Joel Brobecker; committed by Paul Hilfinger.
* ada-lang.c (ada_template_to_fixed_record_type_1): Detect bogus
type sizes in XVE/XVU types, and emit a warning when that happens,
instead of rounding up the size of the resulting type.
Some minor reformatting.
(ada_is_aligner_type): Do not consider a type as an aligner type
if there is a corresponding XVS type as well.
(ada_evaluate_subexp): For TERNOP_SLICE, handle cases where we
have several levels of pointer indirection to the array.
From Jerome Guitton; committed by Paul Hilfinger.
* ada-lang.c (check_size): New function.
(coerce_unspec_val_to_type): call check_size to make sure
that the object size is reasonable.
(ada_evaluate_subexp): in UNOP_IND: Ditto. In TERNOP_SLICE:
Implements the case when we get a reference when we evaluate
the expression of one of the bounds of the slice.
(ada_value_struct_elt): when a packed array field is
a reference, use ada_coerce_ref to dereference it; use
ada_value_ind only if it is a pointer.
a bit to avoid the necessity of an advance declaration. Remove
declaration.
(set_reg_offset): Move implemenation up.
(mips16_get_imm): Likewise.
(mips16_scan_prologue): Likewise.
(reset_saved_regs): Likewise.
(mips32_scan_prologue): Likewise.
Remove sp as a parameter, compute it internally instead. Move
prologue scanning limit from heuristic_proc_desc to here.
(mips16_scan_prologue): Likewise.
(mips_insn16_frame_cache): Replace call to heuristic_proc_desc
by call to mips16_scan_prologue.
(mips_insn32_frame_cache): Replace call to heuristic_proc_desc
by call to mips32_scan_prologue.
(heuristic_proc_desc): Remove code that's no longer necessary.
Update calls to mips16_scan_prologue and mips32_scan_prologue.
(mips_skip_prologue): Update calls to mips16_scan_prologue
and mips32_scan_prologue.
mips16_skip_prologue. Now return the address of the first
instruction past the function prologue.
(mips16_skip_prologue): Remove, no longer necessary.
(mips_skip_prologue): Replace call to mips16_skip_prologue
by call to mips16_scan_prologue.
mips32_skip_prologue. Now return the address of the first
instruction past the function prologue.
(mips32_skip_prologue): Remove. No longer necessary.
(mips16_skip_prologue): Add parameter end_pc instead of
computing it.
(mips_skip_prologue): Compute the upper limit for the
prologue scanning. Update call to mips16_skip_prologue.
Replace call to mips32_skip_prologue by call to
mips32_scan_prologue.
(fetch_fpregs): Use i387_supply_fxsave to fill the floating-point
registers when the floating-point state isn't initialized.
* Makefile.in (i386gnu-nat.o): Update dependencies.
(mips_insn16_frame_cache): Pass frame cache in call to
heuristic_proc_desc. Move some code to mips16_heuristic_proc_desc.
Remove code that became redundant as a consequence.
(mips32_heuristic_proc_desc): No longer compute a fake
procedure descriptor. Compute the full frame cache instead.
Some minor comment reformatting.
(sparc_linux_sigtramp_start): Change first argument from CORE_ADDR
to struct frame_info *. Use safe_frame_unwind_memory instead of
deprecated_read_memory_nobpt.
(sparc32_linux_sigtramp_start, sparc32_linux_rt_sigtramp_start):
Change argumen from CORE_ADDR to struct frame_info *. Adjust for
changed signature of sparc_linux_sigtramp_start.
(sparc32_linux_pc_in_sigtramp): Remove function.
(sparc32_linux_sigtramp_p): New function.
(sparc32_linux_sigtramp_frame_sniffer): Use
sparc32_linux_sigtramp_p instead of sparc32_linux_pc_in_sigtramp.
* target.h (to_stopped_data_address): Change prototype to
take a CORE_ADDR pointer and return an int.
* target.c (update_current_target): Change to_stopped_data_address
to match new prototype.
(debug_to_stopped_data_address): Change appropriately.
* breakpoint.c (bpstat_stop_status): Change call to
target_stopped_data_address to use new prototype.
* frv-tdep.c (frv_have_stopped_data_address): New function.
(frv_stopped_data_address): Change to new prototype and
functionality.
* ia64-linux-nat.c (ia64_stopped_data_address): Change to new
prototype and functionality.
(ia64_stopped_by_watchpoint): New function.
* i386-nat.c (i386_stopped_data_address): Change to new
prototype and functionality.
(i386_stopped_by_watchpoint): New function.
* remote.c (remote_stopped_data_address): Change to new prototype
and functionality.
* remote-m32r-sdi.c (m32r_stopped_data_address): Ditto.
* config/frv/tm-frv.h (frv_stopped_data_address): Change prototype.
(STOPPED_BY_WATCHPOINT): Change to use frv_have_stopped_data_address.
* config/i386/nm-i386.h (STOPPED_BY_WATCHPOINT): Change to use
new i386_stopped_by_watchpoint function.
(i386_stopped_by_watchpoint): New prototype.
(i386_stoppped_data_address): Change to new prototype.
* config/ia64/nm-linux.h (STOPPED_BY_WATCHPOINT): Change to use
new ia64_stopped_by_watchpoint function.
(ia64_stopped_by_watchpoint): New prototype.
(ia64_stopped_data_address): Ditto.
modulus of modular type.
* ada-lang.h (ada_modulus): Change return type to unsigned.
* ada-lang.c (ada_language_arch_info): Correct type of
string_char_type.
(ada_modulus): Return unsigned result.
(ada_lookup_symbol): Remove user disambiguation and modify comment
accordingly.
2004-10-08 Eric Botcazou <ebotcazou@act-europe.fr>
Committed by Paul Hilfinger.
* ada-lang.c (decode_packed_array): On big-endian targets,
left-justify the value if it comes with a modular type.
2004-10-08 Joel Brobecker <brobecker@gnat.com>
Committed by Paul Hilfinger.
* ada-lang.c (template_to_static_fixed_type): Fix a small typo.
(is_name_suffix): Add support for "___JM" suffixes.
(ada_check_typedef): Renames ada_completed_type.
Update all users of CHECK_TYPEDEF, check_typedef, and
ada_complete_type to call ada_check_typedef.
* ada-typeprint.c: Likewise.
* ada-valprint.c: Likewise.
* m32r-tdep.c (decode_prologue): Support functions written
in assembler language. Recognize trap instructions as the
end of prologue.
(m32r_frame_unwind_cache): Ditto.
(m32r_skip_prologue): Extend search limit. Quit analyzing
prologue if pc's location is not readable.
* Makefile.in (.l.c): Do conversions of names of alloc and free
functions that are done for .y.c files, plus special one
for yy_flex_realloc. Also, correct missing-file tests here.
* ada-lex.l (malloc, free): Remove macros.
(resize_tempbuf): Use "realloc"; rely on sed changes to convert to
xrealloc.
(ada_flex_use): Dummy definition to remove warnings about unused
functions.
* ada-exp.y (dummy_string_to_ada_operator): Temporary definition
to suppress warning.
RETURN_VALUE.
(sh_return_value_fpu): Ditto for CPUs with FPU.
(sh_gdbarch_init): Remove STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE,
RETURN_VALUE_ON_STACK and USE_STRUCT_CONVENTION throughout.
Install sh_return_value_nofpu resp. sh_return_value_fpu as
RETURN_VALUE functions.
(die_ref_table): Remove.
(struct dwarf2_cu): Add DIES, DEPENDENCIES, and DIE_REF_TABLE.
(struct dwarf2_per_cu_data): Add PSYMTAB. Add a comment describing
the usage of this type.
(struct dwarf2_per_objfile): Update comment for ALL_COMP_UNITS.
(struct dwarf2_pinfo, PST_PRIVATE, DWARF_INFO_OFFSET): Remove.
(struct dwarf2_queue_item, dwarf2_queue, dwarf2_queue_tail): New.
(dwarf2_create_include_psymtab): Update comment.
(find_partial_die): Remove third argument. Remove unreachable call
to error ().
(dwarf2_find_containing_comp_unit): Update comments. Change one
assertion to an error. Remove an unreachable error.
(dwarf2_find_comp_unit): Update comments.
(type_at_offset): Remove dead code.
(make_cleanup_free_die_list, dwarf2_empty_hash_tables): Remove.
(store_in_ref_table): Add CU argument.
(follow_die_ref): Take DIE, attribute, and CU arguments. Handle
inter-compilation-unit references.
(load_full_comp_unit, process_full_comp_unit): New functions, based
on psymtab_to_symtab_1.
(psymtab_to_symtab_1): Use them.
(dwarf2_add_dependence): New function.
(dwarf2_build_psymtabs_hard): Set the psymtab in per_cu. Always create
a per_cu structure, and save it in READ_PSYMTAB_PRIVATE.
(partial_die_parent_scope, guess_structure_name): Update for changes
to find_partial_die.
(dwarf2_psymtab_to_symtab): Initialize dwarf2_per_objfile here.
(queue_comp_unit, process_queue, dwarf2_release_queue): New.
(read_comp_unit): Don't call dwarf2_empty_hash_tables.
(read_die_and_children): Update call to store_in_ref_table.
(do_free_die_list_cleanup): Remove.
(fixup_partial_die): Update for changes to find_partial_die.
(read_full_die): Handle queueing absolute references.
(read_attribute_value): Use DW_ADDR for all DW_FORM_ref* forms.
(dwarf2_attr, die_specification, die_type)
(die_containing_type, dwarf2_extension): Update calls to
follow_die_ref.
(dump_die): Update DW_FORM_ref* handling.
(dwarf2_get_ref_die_offset): Likewise.
(free_one_comp_unit): Release the dies list.
(dwarf2_mark_helper): New function.
(dwarf2_mark): Use it.
* target.c (xfer_using_stratum): Change return type to LONGEST.
On each iteration offset, readbuf and writebuf.
* inf-ptrace.c (inf_ptrace_xfer_partial): Simplify computation of
partial_length, and read/modify/write predicate, update comments.
Pass buffer.word to ptrace write.
(m88kbsd_fetch_inferior_registers): Rename from
fetch_inferior_registers. Make static.
(m88kbsd_store_inferior_registers): Rename from
store_inferior_registers. Make static.
(_initialize_m88kbsd_nat): New prototype and function.
* config/m88k/obsd.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-child.o and inf-ptrace.o.
(NAT_FILE): Remove.
* Makefile.in (m88kbsd-nat.o): Update dependencies.
* utils.c (msavestring, mstrsave): Remove functions.
* objfiles.c (allocate_objfile): Use xstrdup instead of mstrsave.
* solib-sunos.c (allocate_rt_common_objfile): Use xstrdup instead
of mstrsave.
* source.c (find_and_open_source): Use xstrdup instead of
mstrsave.
* inf-ptrace.c (inf_ptrace_target): Do not set to_xfer_memory.
(inf_ptrace_xfer_memory): Delete.
* target.c (target_xfer_partial_p, xfer_using_stratum): New.
(target_read_memory, target_write_memory): Use xfer_using_stratum
when target_xfer_partial_p.
(debug_target): Move to start of file.
(target_read_memory_partial, target_write_memory_partial): Use
to_xfer_partial when target_xfer_partial_p.