* regcache.c (struct regcache_descr): Add fields
sizeof_cooked_registers and sizeof_cooked_register_valid_p.
(init_legacy_regcache_descr): Compute the size of a cooked
register cache and then assign that to sizeof_raw_registers. Set
sizeof_raw_register_valid_p to sizeof_cooked_register_valid_p
(init_legacy_regcache_descr): Ditto.
* utils.c (gdb_realpath): Rewrite. Try, in order: realpath() with
a constant buffer; cannonicalize_file_name(); realpath() with a
pathconf() defined buffer, xstrdup().
defined.
(regmap): Extend to cover all registers.
(PT_READ_U, PT_WRITE_U, PTRACE_XFER_TYPE,
OLD_CANNOT_FETCH_REGISTERS, OLD_CANNOT_STORE_REGISTERS): Remove
definitions.
(fetch_register, sore_register): Simplify.
(old_fetch_inferior_registers, old_store_inferior_registers):
Remove functions.
(cannot_fetch_register, cannot_store_register): Change
implementation to use regmap array to decide which registers
cannot be fetched/stored. This removes $orig_eax from the
registers that cannot be fetched/stored.
(fetch_inferior_registers): Call fetch_register directly instead
of calling old_fetch_inferior_registers.
(store_inferior_registers): Call store_register directly instead
of calling old_store_inferior_registers.
(i386_linux_dr_get): Replace PT_READ_U with PTRACE_PEEKUSER.
(i386_linux_dr_set): Replace PT_WRITE_U with PTRACE_POKEUSER.
* config/i386/nm-linux.h (U_REGS_OFFSET): Remove definition.
* i387-tdep.c (i387_supply_register): When called with NULL as a
buffer, mark the register as not provided (to mirror the behavior
of supply_register).
(i387_supply_fxsave): Ditto.
(i387_supply_fsave): Ditto (inherits the behavior from
i387_supply_register).
* blockframe.c (sigtramp_saved_pc): Use
builtin_type_void_code_ptr, not builtin_type_void_data_ptr (we are
extracting the PC). Use TYPE_LENGTH (builtin_type_void_code_ptr)
instead of (TARGET_PTR_BIT / TARGET_CHAR_BIT).
* frame.c (get_prev_frame): Cleanups. Eliminate redundant tests
for a NULL NEXT_FRAME. Simplify fromleaf initialization. Add
more comments. Zap dead code.
checks whether the target has any registers and whether there is a
selected frame up, such that it is also used if a target provides
multi-arch definitions of these functions.
* i386-linux-tdep.c: Include "reggroups.h".
(i386_linux_register_reggroup_p): New function.
(i386_linux_init_abi): Set register_reggroup_p to
i386_linux_register_reggroup_p.
* i386-tdep.h (i386_register_reggroup_p): Declare.
* i386-tdep.c: Include "reggroups.h".
(i386_init_reggroups): New function.
(i386_add_reggroups): New function.
(i386_register_reggroup_p): New function.
(i386_sse_reggroup, i386_mmx_reggroup): New variables.
(_initialize_i386_tdep): Call i386_init_reggroups.
(i386_gdbarch_init): Set register_reggroup_p and add in the i386
specific reggroups.
* frame.c (set_unwind_by_pc): Use dummy_frame_register_unwind.
* dummy-frame.c (find_dummy_frame): Rename
generic_find_dummy_frame, make static. Return the dummy frame
instead of the regcache.
(generic_find_dummy_frame): Re-implement using find_dummy_frame,
(cached_find_dummy_frame): New function. Use find_dummy_frame.
(dummy_frame_register_unwind): Rename
generic_call_dummy_register_unwind. Use cached_find_dummy_frame.
* dummy-frame.h (dummy_frame_register_unwind): Rename
generic_call_dummy_register_unwind.
* hppa-tdep.c: Add new functions replacing macro bodies from
config/pa/tm-hppa.h. These function will be used to initialize
the gdbarch structure. Import some comments from tm-hppa.h,
and place them where appropriate, to avoid loosing them when
we cleanup this file.
(hppa_reg_struct_has_addr): New function.
(hppa_inner_than): New function.
(hppa_stack_align): New function.
(hppa_pc_requires_run_before_use): New function.
(hppa_instruction_nullified): New function.
(hppa_register_byte): New function.
(hppa_register_virtual_type): New function.
(hppa_store_struct_return): New function.
(hppa_cannot_store_register): New function.
(hppa_frame_args_address): New function.
(hppa_frame_locals_address): New function.
(hppa_smash_text_address): New function.
(hppa_coerce_float_to_double): New function. Requires the inclusion
of "language.h".
* Makefile.in (hppa-tdep.o): Add dependency on language.h.
* tm-hppa.h (REG_STRUCT_HAS_ADDR): Change the definition of this
gdbarch-eligible macro to a call to the new associated function
created in hppa-tdep.c.
(INNER_THAN): Likewise.
(STACK_ALIGN): Likewise.
(PC_REQUIRES_RUN_BEFORE_USE): Likewise.
(INSTRUCTION_NULLIFIED): Likewise.
(REGISTER_BYTE): Likewise.
(REGISTER_VIRTUAL_TYPE): Likewise.
(STORE_STRUCT_RETURN): Likewise.
(CANNOT_STORE_REGISTER): Likewise.
(FRAME_ARGS_ADDRESS): Likewise.
(FRAME_LOCALS_ADDRESS): Likewise.
(SMASH_TEXT_ADDRESS): Likewise.
(COERCE_FLOAT_TO_DOUBLE): Likewise.
(ABOUT_TO_RETURN): Delete, as no longer used.
(_initialize_printcmd): Do not create disassemble command here.
* cli/cli-cmds.c (disassemble_command): New function. Implements
disassemble command.
(init_cli_cmds): Create disassemble command here instead.
* gdb.asm/asm-source.exp: Adjust patter to new disassembler routine
which explicitly prints the zero offset as "+0".
* hppa-tdep.c (hppa_gdbarch_init): New function.
(hppa_dump_tdep): New function.
(_initialize_hppa_tdep): Register the hppa gdbarch init function and
tdep structure dumper.
* config/pa/tm-hppa.h (GDB_MULTI_ARCH): New macro, defined to 0
until the multi-arching conversion has partially been completed.
* valops.c (value_assign): Merge lval_register case into
lval_reg_frame_relative. Use frame_register and
regcache_cooked_write instead of get_saved_register and
write_register_bytes. After flushing the register cache, try to
re-select the selected frame.
* infcmd.c: Include "reggroups.h" and <ctype.h>.
(print_float_info): Print registers in float_reggroup.
(print_vector_info): Print registers in vector_reggroup.
(default_print_registers_info): When all, print registers in
all_reggroup. Otherwize, print registers in general_reggroup.
(registers_info): Rewrite. Add support for register groups.
Eliminate a goto.
* symtab.c (methods_info): Delete. It has been ifdeffed out for
ages.
(symtab_symbol_info): Remove eons old ifdeffed out code.
(_initialize_symtab): Remove prehistoric disabled 'info methods'
command.
* f-exp.y: Add missing semi-colons.
* m2-exp.y: Add missing semi-colons.
* p-exp.y: Add missing semi-colons.
Add empty action to start rule to avoid a type clash error when
building with bison >= 1.50.