* gdbtypes.h (struct builtin_type): Delete builtin_int0 through to
builtin_uint128.
* gdbtypes.c (gdbtypes_post_init): Update.
(build_gdbtypes): Move initialization of builtin_type_int0
through to builtin_type_uint128 from here ...
(_initialize_gdbtypes): ... to here.
* d10v-tdep.c (d10v_register_type): Update.
(i386_linux_rt_sigtramp_start): Change argument from CORE_ADDR to
struct frame_info *. Use safe_frame_unwind_memory instead of
deprecated_read_memory_nobpt.
(i386_linux_sigtramp_p, i386_linux_sigcontext_addr): Adjust for
changed signature of i386_linux_sigtramp_start and
i386_linux_rt_sigtramp_start.
CORE_ADDR to struct frame_info *. Use safe_frame_unwind_memory
instead of deprecated_read_memory_nobpt.
(i386nbsd_sigtramp_p): Adjust for changed signature of
i386nbsd_sigtramp_offset.
(iter_trap): Delete, no longer used.
(iter_tid): New function.
(pd_update): Find the thread that received the SIGTRAP signal
by first locating the kernel thread, and then finding its
associated thread.
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.
* 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.
* 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.