corresponding macro is not defined. Likewise for PCNICE, PCSHOLD
and PCUNKILL.
(write_with_trace): Conditionalize out the switch branch handling
PCSHOLD if the corresponding macro is not defined. Likewise for
PRSABORT and PRSTOP.
This change will be needed by the Interix port.
* rs6000-tdep.c (struct rs6000_framedata): Add saved_ev and
ev_offset fields.
(skip_prologue): Add support for BookE/e500 instructions.
(e500_extract_return_value): New function.
(frame_get_saved_regs): Add support for saving ev registers and
pseudo gpr's.
(e500_store_return_value): New function.
(rs6000_gdbarch_init): Move up default intializations of
deprecated_extract_return_value and store_return_value. Overwrite
init of store_return_value with e500 specific version.
Set extract_return_value for e500.
number table from disk if the image file doesn't have a symbol
table; we'll never actually look at the info anyway, and Windows
ships DLL's with bogus file offsets for the line number data.
* mips-tdep.c (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): These are only
used locally, so move them from the target machine header to here.
(mips_set_processor_type, mips_register_name, mips32_next_pc,
mips16_next_pc, cached_proc_desc, mips_set_processor_type):
Make static.
* config/mips/tm-mips.h (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Delete.
* ppc-tdep.h (struct gdbarch_tdep): Add ev registers.
* rs6000-tdep.c (rs6000_register_virtual_type): Return 64 bit
vector type for ev registers.
(e500_pseudo_register_read): New function.
(e500_pseudo_register_write): New function.
(e500_dwarf2_reg_to_regnum): New function.
(PPC_UISA_NOFP_SPRS): New macro.
(PPC_EV_REGS): New macro.
(PPC_GPRS_PSEUDO_REGS): New macro.
(registers_e500): New register set for e500.
(variants): Add e500 variant.
(rs6000_gdbarch_init): Move setting of pc, sp, fp regnums to
before setting architectural dependent variations. Initialize ev
registers numbers. Add case for e500 architecture. Set the
number of pseudo registers.
* config/mips/tm-mips.h (STORE_STRUCT_RETURN): Delete.
(EXTRACT_STRUCT_VALUE_ADDRESS): Delete.
* mips-tdep.c (mips_store_struct_return): New function.
(mips_extract_struct_value_address): New function.
(mips_gdbarch_init): Set store_struct_return and
extract_struct_value_address.
* config/mips/tm-mips.h (STORE_STRUCT_RETURN): Delete.
(EXTRACT_STRUCT_VALUE_ADDRESS): Delete.
* mips-tdep.c (mips_store_struct_return): New function.
(mips_extract_struct_value_address): New function.
(mips_gdbarch_init): Set store_struct_return and
extract_struct_value_address.
* dwarf2read.c (dwarf2_build_psymtabs): Check that
dwarf_line_offset is nonzero before creating dwarf_line_buffer.
(read_file_scope): Check that line_header is nonzero before
decoding macro information.
* infcmd.c (do_registers_info): Print vector registers in hex
format only.
(print_vector_info): Check that printing registers
makes sense.
(print_float_info): Ditto.
* mips-tdep.c (mips_gdbarch_init): Update.
(mips_o32_extract_return_value): Rewrite.
(mips_o32_store_return_value): Rewrite.
(mips_o32_xfer_return_value): New function.
(mips_xfer_register): Tweak debug print message. Allow for
buf_offset when dumping the value transfered.
* rs6000-tdep.c (struct reg): Add field to indicate a pseudo
register.
(P): New macro to define a register as a pseudo register.
(R, R4, R8, R16, FR32, R64, R0): Updated.
(struct variant): Add new fields for number of pseudo registers
and number of total registers.
(tot_num_registers): New macro replacing....
(num_registers): ...deleted macro.
(num_registers): New function.
(num_pseudo_registers): New function.
(variants): Update all variants to intialize new fields correctly.
Postpone initialization of number of pseudo regs and real regs.
(init_variants): New function.
(rs6000_gdbarch_init): Initialize variants. Update calculation of
registers offsets.
* valops.c (search_struct_field): Change error message to treat
return value of 0 from value_static_field as meaning that field is
optimized out.
(value_struct_elt_for_reference): Ditto.
* values.c (value_static_field): Treat an unresolved location the
same as a nonexistent symbol. Fix PR gdb/635.