the lower 32-bit halves of the GPRS to be their own raw registers,
not pseudoregisters.
* ppc-tdep.h (struct gdbarch_tdep): Remove ppc_gprs_pseudo_p flag;
add ppc_ev0_upper_regnum flag.
* rs6000-tdep.c: #include "reggroups.h".
(spe_register_p): Recognize the ev upper half registers as SPE
registers.
(init_sim_regno_table): Build gdb->sim mappings for the upper-half
registers.
(e500_move_ev_register): New function.
(e500_pseudo_register_read, e500_pseudo_register_write): The 'ev'
vector registers are the pseudo-registers now, formed by splicing
together the gprs and the upper-half registers.
(e500_register_reggroup_p): New function.
(P): Macro deleted.
(P8, A4): New macro.
(PPC_EV_REGS, PPC_GPRS_PSEUDO_REGS): Macros deleted.
(PPC_SPE_GP_REGS, PPC_SPE_UPPER_GP_REGS, PPC_EV_PSEUDO_REGS): New
macros.
(registers_e500): Rearrange register set so that the raw register
set contains 32-bit GPRs and upper-half registers, and the SPE
vector registers become pseudo-registers.
(rs6000_gdbarch_init): Don't initialize tdep->ppc_gprs_pseudo_p;
it has been deleted. Initialize ppc_ev0_upper_regnum. Many other
register numbers are now the same for the E500 as they are for
other PowerPC variants. Register e500_register_reggroup_p as the
register group function for the E500.
* Makefile.in (rs6000-tdep.o): Update dependencies.
Adapt PPC E500 native support to the new raw regcache layout.
* ppc-linux-nat.c (struct gdb_evrregset_t): Doc fixes.
(read_spliced_spe_reg, write_spliced_spe_reg): Deleted.
(fetch_spe_register, store_spe_register): Handle fetching/storing
all the SPE registers at once, if regno == -1. These now take
over the job of fetch_spe_registers and store_spe_registers.
(fetch_spe_registers, store_spe_registers): Deleted.
(fetch_ppc_registers, store_ppc_registers): Fetch/store gprs
unconditionally; they're always raw. Fetch/store SPE upper half
registers, if present, instead of ev registers.
(fetch_register, store_register): Remove sanity checks: gprs are
never pseudo-registers now, so we never need to even mention any
registers that are ever pseudoregisters.
2004-07-20 Jim Blandy <jimb@redhat.com>
Use a fixed register numbering when communicating with the PowerPC
simulator.
* ppc-tdep.h (struct gdbarch_tdep): New member: 'sim_regno'.
* rs6000-tdep.c: #include "sim-regno.h" and "gdb/sim-ppc.h".
(set_sim_regno, init_sim_regno_table, rs6000_register_sim_regno):
New functions.
(rs6000_gdbarch_init): Register rs6000_register_sim_regno. Call
init_sim_regno_table.
* Makefile.in (gdb_sim_ppc_h): New variable.
(rs6000-tdep.o): Update dependencies.
include/gdb/ChangeLog:
2004-07-20 Jim Blandy <jimb@redhat.com>
* sim-ppc.h: New file.
sim/ppc/ChangeLog:
2004-07-20 Jim Blandy <jimb@redhat.com>
Use a fixed register numbering when communicating with the PowerPC
simulator.
* sim_calls.c: #include "registers.h" and "gdb/sim-ppc.h"; do not
include GDB's "defs.h".
(gdb_register_name_table): New variable.
(gdb_register_name_table_size): New enum constant.
(gdb_register_name): New function.
(sim_fetch_register, sim_store_register): Use gdb_register_name,
instead of calling gdbarch_register_name.
* Makefile.in (GDB_SIM_PPC_H): New variable.
(DEFS_H): Delete variable.
(sim_calls.o): Update dependencies.
2004-08-01 Robert Millan <robertmh@gnu.org>
* configure.in: Turn mt-linux into mt-gnu. Use mt-gnu and enable
libmudflap for all GNU-based systems (with Glibc).
* configure: Regenerate.
config/ChangeLog:
2004-08-01 Robert Millan <robertmh@gnu.org>
* mt-linux: Rename to ...
* mt-gnu: ... this.
* Makefile.def (host-modules): Add gcc.
* Makefile.in: Regenerate.
* Makefile.tpl (sorry): New rule.
(configure-host, all-host, [+make_target+]-host, do-check,
install-host): Do not add gcc as a special case.
(host modules): Add a small special-casing for gcc. Export
extra_make_flags through the environment.
(maybe-configure-gcc, configure-gcc, maybe-all-gcc, all-gcc,
maybe-check-gcc, check-gcc, maybe-install-gcc, install-gcc,
other recursive targets for gcc): Remove.
(all, do-[+make_target+], do-check): Wrap between unstage and stage.
(stage, unstage): New rules.
(stage[+id+]-start, stage[+id+]-end, [+compare-target+],
distclean-stage[+id+]): Use stage_current.
([+bootstrap-target+], profiledbootstrap): Do not invoke manually
the stage*-start rules.
* regcache.h: Delete DEPRECATED_REGISTER_VIRTUAL_SIZE and
DEPRECATED_REGISTER_RAW_SIZE from comments.
* regcache.c (init_regcache_descr, regcache_dump): Do not check or
use DEPRECATED_REGISTER_VIRTUAL_SIZE and
DEPRECATED_REGISTER_RAW_SIZE.
* findvar.c (value_of_register): Simplify by assuming that the
registers raw and virtual sizes are identical.
* regcache.h: Delete DEPRECATED_REGISTER_VIRTUAL_TYPE in
comment.
* arch-utils.c (generic_register_size): Simplify by assuming
register_type.
* dummy-frame.c (struct dummy_frame): Delete call_lo, call_hi, top
and pc. Update comments.
(pc_in_dummy_frame): Delete function.
(deprecated_pc_in_call_dummy): Inline old pc_in_dummy_frame code,
use the "id".
(dummy_frame_push, dummy_frame_sniffer): Instead of call_lo,
call_hi, top and pc, use the id.
(fprint_dummy_frames): Do not print call_lo, call_hi, top and pc.
Fix PR testsuite/1729.
* gdb.base/dump.exp: Add test name to callers of capture_value, do
not use capture_value with value 4.
(capture_value): Add optional test name parameter.
(test_reload_saved_value, test_restore_saved_value): Use $msg as
the prefix, pass to capture_value.
* frame.h (deprecated_pop_dummy_frame)
(deprecated_read_register_dummy)
(deprecated_generic_find_dummy_frame): Delete.
* dummy-frame.c (deprecated_generic_find_dummy_frame)
(deprecated_read_register_dummy)
(deprecated_find_dummy_frame_regcache)
(discard_innermost_dummy)
(deprecated_pop_dummy_frame): Delete.
(dummy_frame_this_id): Simplify.
(struct dummy_frame): Delete "fp" and "sp".
(find_dummy_frame): Simplify.
(generic_push_dummy_frame): Do not set "fp" or "sp".
(fprint_dummy_frames): Do not print "fp" and "sp"
(struct i386_insn): New structure.
(i386_match_insn): New function.
(i386_frame_setup_skip_insns): New variable.
(i386_analyze_frame_setup): Change to use i386_match_insn and the
array i386_frame_setup_insns of instructions that should be
skipped inside the frame setup sequence.
* frame.h (deprecated_frame_xmalloc_with_cleanup)
(frame_saved_regs_zalloc, frame_extra_info_zalloc)
(get_frame_extra_info, deprecated_get_frame_saved_regs): Delete.
* stack.c (frame_info): Delete references to
DEPRECATED_FRAME_INIT_SAVED_REGS and
deprecated_get_frame_saved_regs.
* frame.c (struct frame_info): Delete saved_regs and extra_info.
(frame_pc_unwind): Do not use DEPRECATED_FRAME_SAVED_PC.
(frame_register): Do not use DEPRECATED_GET_SAVED_REGISTER.
(frame_unwind_register_signed)
(frame_unwind_register_unsigned)
(frame_unwind_unsigned_register): Use register_size.
(create_new_frame): Do not use DEPRECATED_INIT_EXTRA_FRAME_INFO.
(deprecated_frame_xmalloc_with_cleanup)
(frame_saved_regs_zalloc, frame_extra_info_zalloc)
(get_frame_extra_info, deprecated_get_frame_saved_regs): Delete.
* infcall.c (call_function_by_hand): Do not use
DEPRECATED_PUSH_RETURN_ADDRESS, DEPRECATED_DUMMY_WRITE_SP,
DEPRECATED_SAVE_DUMMY_FRAME_TOS, DEPRECATED_TARGET_READ_FP,
DEPRECATED_FP_REGNUM, DEPRECATED_STORE_STRUCT_RETURN, and
DEPRECATED_STACK_ALIGN.
* config/mips/tm-irix6.h: Delete file.
* config/mips/tm-irix5.h: Delete file.
* config/mips/irix5.mt (TM_FILE): Set to tm-mips.h
* config/mips/irix6.mt (TM_FILE): Set to tm-mips.h