* hppa-tdep.c: Add some missing forward declarations.
(frameless_function_invocation): Prefix the function name
by "hppa_" to avoid polluting the namespace. Update all calls
to use the new function name.
(saved_pc_after_call): Ditto.
(init_extra_frame_info): Ditto.
(frame_chain): Ditto.
(push_dummy_frame): Ditto.
(target_read_pc): Ditto.
(target_write_pc): Ditto.
(in_solib_call_trampoline): Ditto.
(in_solib_return_trampoline): Ditto.
(skip_trampoline_code): Ditto.
(hppa_read_fp): New function, renamed from target_read_fp.
(hppa_target_read_fp): New function, using hppa_read_fp.
This function conforms to the function profile for the
READ_FP gdbarch method.
(hppa_extract_struct_value_address): New function, extracted
from the definition of the DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS
macro.
(hppa_frame_num_args): New function.
(hppa_gdbarch_init): Setup the gdbarch vector for the hppa target.
* config/pa/tm-hppa.h: Wrap around all gdbarch-eligible macros
inside "#if !GDB_MULTI_ARCH ... #endif" conditional, in preparation
for the switch to multiarch partial.
Update some of the macros definitions to match some changes
described above in the name of the function they are calling.
(PUSH_DUMMY_FRAME): Add a FIXME explaining why this macro will
not be straightforward to convert. Do now wrap it inside
"#if !... #endif" to remember that this macro has still not
been taken care of.
(FIX_CALL_DUMMY): Likewise.
* hppa-tdep.c: (hppa_register_raw_size): New function replacing
the body of macro REGISTER_RAW_SIZE.
* hppa-hpux-tdep.c: Add new functions replacing macro bodies from
config/pa/tm-hppah.h. These functions will be used to initialize
the gdbarch structure.
(hppa_hpux_pc_in_sigtramp): New function.
(hppa_hpux_frame_saved_pc_in_sigtramp): New function.
(hppa_hpux_frame_base_before_sigtramp): New function.
(hppa_hpux_frame_find_saved_regs_in_sigtramp): New function.
Add gdbcore.h #include.
* config/pa/tm-hppa.h (REGISTER_RAW_SIZE): Change the definition
of this gdbarch-eligible macro to a call to the new associated
function.
* config/pa/tm-hppah.h (PC_IN_SIGTRAMP): Likewise.
(FRAME_SAVED_PC_IN_SIGTRAMP): Change the definition of this macro
into a call to the new associated function.
(FRAME_BASE_BEFORE_SIGTRAMP): Likewise.
(FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Likewise.
* Makefile.in (hppa-hpux-tdep.o): Add dependency on gdbcore.h.
* 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.
* 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.
* gdbarch.sh (IEEE_FLOAT): New entry.
* gdbarch.c, gdbarch.h: Regenerated.
* valprint.c (IEEE_FLOAT): Provide a default #definition for this.
(print_floating): Use IEEE_FLOAT as if it were an expression; use
the code specific to IEEE-format numbers whenever the value of
IEEE_FLOAT is non-zero.
* config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
config/arc/tm-arc.h, config/arm/tm-arm.h, config/fr30/tm-fr30.h,
config/h8300/tm-h8300.h, config/i386/tm-i386.h,
config/i960/tm-i960.h, config/m88k/tm-m88k.h,
config/mips/tm-mips.h, config/pa/tm-hppa.h,
config/sparc/tm-sparc.h, config/delta/tm-delta.h,
config/frv/tm-frv.h (IEEE_FLOAT): For all ports that #define
IEEE_FLOAT, make sure they give it the value (1).
* valops.c (COERCE_FLOAT_TO_DOUBLE): Rework definition to be
more function-like.
(default_coerce_float_to_double, standard_coerce_float_to_double):
New functions.
(value_arg_coerce): Adjust for new definition.
* value.h (default_coerce_float_to_double,
standard_coerce_float_to_double): New declarations for the above.
* gdbarch.sh (coerce_float_to_double): New entry, replacing macro.
* gdbarch.c, gdbarch.h: Regenerated.
* tm-alpha.h, tm-fr30.h, tm-m32r.h, tm-mips.h, tm-hppa.h,
tm-rs6000.h, tm-sh.h, tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Change
definitions.
* mips-tdep.c (mips_coerce_float_to_double): Supply our own custom
function here.
(mips_gdbarch_init): Install that as our coerce_float_to_double
function.
grow up correctly.
* config/pa/tm-hppa.h (USE_STRUCT_CONVENTION): Define.
(STACK_ALIGN): Define.
* hppa-tdep.c (hppa_alignof): Don't demand a minumim two byte
alignment on structs/unions.
Fixing assorted structure passing/return problems reported by the net.
problems than it fixes.
* hppa-tdep.c (skip_prologue): If we exit the main loop without
finding all the register saves, retry again without looking for
the registers we could not find the first time.
Better fix for 7768.
constants into PA instructions.
* Put #ifdefs around all signal handling code. Not generally
needed for embedded boards.
* (hppa_fix_call_dummy): Parameterize offsets into call dummy to
allow different dummys to be used by this code. Use
INSTRUCTION_SIZE instead of REGISTER_SIZE for things.
Conditionalize setup of _sr4export fixup. Improve comments.
* config/pa/tm-hppa.h: Define INSTRUCTION_SIZE. Use a different
call dummy if PA_LEVEL_0 is defined. Better comments for call
dummys. Define offsets for LDIL/LDO instructions which load
function addresses.
* config/pa/tm-pro.h: Get rid of signal handling stuff. Define
PA_LEVEL_0 to disable mucking with space regs and such.
Various name changes to match those used by hp-symtab.h.
No longer sanitize away hpread changes. Merge ChangeLog.hpread into
ChangeLog and ChangeLog-93.
symbol special handling when INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK
is defined.
* infrun.c (IN_SOLIB_CALL_TRAMPOLINE): Renamed from
IN_SOLIB_TRAMPOLINE. All callers changed.
(IN_SOLIB_RETURN_TRAMPOLINE): Provide default definition.
(wait_for_inferior): Handle single stepping through trampolines on
return paths from shared libraries.
* config/pa/tm-hppa.h (IN_SOLIB_CALL_TRAMPOLINE): Use
in_solib_call_trampoline.
(IN_SOLIB_RETURN_TRAMPOLINE): Use in_solib_return_trampoline.
(INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK): Define.
* hppa-tdep.c (in_solib_call_trampoline): New function.
(in_solib_return_trampoline): New function.
reserved fields to hold a stub unwind entry type. Fix typo.
(stub_unwind_entry): New structure for raw stub unwind entries.
(stub_unwind_types): The types of stubs we may encounter.
(UNWIND_ENTRY_SIZE, STUB_UNWIND_ENTRY_SIZE): New defines.
* hppa-tdep.c (rp_saved): Use additional information provided
by linker stub unwind descriptors.
(frameless_function_invocation): Likewise.
(frame_chain_valid): Likewise.
* paread.c (compare_unwind_entries): New function for sorting
unwind table entries.
(read_unwind_info): Rewrite to remove dependency on host endianness.
Read in data from the $UNWIND_END$ subspace which contains linker
stub unwind descriptors. Merge that data into the basic unwind
table.