* hppa-tdep.c (SR4EXPORT_LDIL_OFFSET, SR4EXPORT_LDO_OFFSET): Remove
unused symbols.
* hppa-tdep.h (HPPA_INSTRUCTION_SIZE): Remove, since there are no more
references.
* hppa-tdep.c (hppa_stub_frame_unwind_cache): For HPUX stub unwinding,
check to see if we are unwinding an export stub. Export stubs clobber
the %rp in the call path and stores the original rp in a stack slot.
* hppa-tdep.c (hppa_frame_prev_register_helper): New function to
do common handling of the pcoqt register.
(hppa_frame_prev_register, hppa_stub_frame_prev_register): Convert
to use helper function.
(hppa_frame_unwind_sniffer): Only use if unwind entry is present.
(hppa_fallback_frame_cache, hppa_fallback_frame_this_id)
(hppa_fallback_frame_prev_register, hppa_fallback_frame_unwind): New
generic fallback unwinder when all else fails.
(hppa_gdbarch_init): Add fallback sniffer.
* hppa-tdep.h (hppa_frame_prev_register_helper): Prototype.
* hppa-linux-tdep.c (hppa_linux_sigtramp_frame_prev_register): Convert
to use helper function.
* configure.host (hppa*-*-linux*): New target.
* configure.tgt (hppa*-*-linux*): Likewise.
* hppa-tdep.c (hppa_gdbarch_init): Set cannot_fetch_register, move
gdbarch_init_osabi() call earlier so that osabi-specific frame
unwinders can be registered first.
* config/djgpp/fnchange.lst: Add entries for hppa-linux-tdep.c and
hppa-linux-nat.c.
* config/pa/tm-hppa.h (ISR_REGNUM, PID0_REGNUM, PID1_REGNUM)
(PID2_REGNUM, PID3_REGNUM): Add definitions of some register numbers.
* config/pa/linux.mh: New file.
* config/pa/linux.mt: New file.
* config/pa/nm-linux.h: New file.
* config/pa/xm-linux.h: New file.
* hppa-linux-nat.c: New file.
* hppa-linux-tdep.c: New file.
* hppa-tdep.c (hppa32_return_value): Handle both 4- and 8-byte fp
return values.
(hppa32_push_dummy_call): Fix small struct and floating point argument
passing, and make sure the stack frame is properly aligned.
* hppa-tdep.c (hppa_stub_unwind_cache, hppa_stub_frame_unwind_cache)
(hppa_stub_frame_this_id, hppa_stub_frame_prev_register)
(hppa_stub_frame_unwind, hppa_stub_unwind_sniffer): New stub unwinder
for handling stackless frames.
(hppa_gdbarch_init): Link in hppa_stub_unwind_sniffer.
* hppa-tdep.h (find_unwind_entry, hppa_get_field, hppa_extract_5_load)
(hppa_extract_5R_store, hppa_extract_5r_store, hppa_extract_17)
(hppa_extract_21, hppa_extract_14, hppa_low_sign_extend)
(hppa_sign_extend): Add prototype.
* hppa-tdep.c (get_field, extract_5_load, extract_5R_store)
(extract_5r_store, extract_17, extract_21, extract_14, low_sign_extend)
(sign_extend): Rename with hppa_ prefix and make non-static. Other
hppa targets will also use these functions.
(find_unwind_entry): Remove prototype (moved to hppa-tdep.h).
(hppa_in_solib_call_trampoline, hppa_in_solib_return_trampoline)
(hppa_skip_trampoline_code): Move to hppa-hpux-tdep.c
(hppa_gdbarch_init): Remove gdbarch setting of
skip_trampoline_code, in_solib_call_trampoline and
in_solib_return_trampoline.
* hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline)
(hppa64_hpux_in_solib_call_trampoline): New functions, split from
hppa_in_solib_call_trampoline.
(hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code):
Moved from hppa-tdep.c.
(hppa_hpux_init_abi): Set gdbarch for skip_trampoline_code,
in_solib_call_trampoline and in_solib_return_trampoline.
* Makefile.in (hppa-hpux-tdep.o): Add $(hppa_tdep_h).
* hppa-hpux-tdep.c (hppa-tdep.h): Include.
(hppa_hpux_som_init_abi): Set is_elf to 0.
(hppa_hpux_elf_init_abi): Set is_elf to 1.
* hppa-tdep.c (low_text_segment_address): Remove global.
(record_text_segment_lowaddr): Pass in low address as parameter. Use
section offset to calculate segment address.
(internalize_unwinds): Define low_text_segment_address as local and
pass to record_text_segment_lowaddr for ELF targets.
(hppa_gdbarch_init): Zero fill tdep structure.
(hppa_dump_tdep): Print tdep structure.
* hppa-tdep.h (gdbarch_tdep): Add is_elf member to tdep structure.
* hppa-tdep.c (hppa_pseudo_register_read): Define.
(hppa_gdbarch_init): Set pseudo_register_read.
* config/pa/tm-hppa.h (DEPRECATED_CLEAN_UP_REGISTER_VALUE): Remove.
* regcache.c (supply_register): Remove check for
DEPRECATED_CLEAN_UP_REGISTER_VALUE since we've removed the last user.
* hppa-tdep.c: Replace DEPRECATED_FP_REGNUM with HPPA_FP_REGNUM,
FP0_REGNUM with HPPA_FP0_REGNUM, and SP_REGNUM with
HPPA_SP_REGNUM.
(hppa_register_raw_size, hppa_register_byte, hppa_read_fp)
(hppa_target_read_fp): Delete.
(hppa_gdbarch_init): Do not set deprecated register_raw_size,
register_virtual_size, max_register_raw_size,
max_register_virtual_size, register_byte, register_size,
target_read_fp, fp_regnum, and register_bytes. Set register_type
instead of register_virtual_type.
(hppa32_register_type, hppa64_register_type): Replace
hppa32_register_virtual_type and hppa64_register_virtual_type.
* config/pa/tm-hppa.h (HPPA_FP0_REGNUM, HPPA_SP_REGNUM)
(HPPA_FP_REGNUM): Define.
* hppa-tdep.c: Replace PC_REGNUM with PCOQ_HEAD_REGNUM.
(hppa64_return_value, hppa64_push_dummy_call): Rewrite.
(hppa_gdbarch_init): Do not set PC_REGNUM.
* hppa-tdep.c (hppa_gdbarch_init): On 32-bit systems always use
the new frame unwind code.
(hppa_frame_cache): Use PCOQ_HEAD_REGNUM instead of PC_REGNUM.
(hppa_frame_prev_register): Compute PCOQ_TAIL_REGNUM from
PCOQ_HEAD_REGNUM.
* hppa-tdep.c (hppa_frame_align): New function.
(hppa32_push_dummy_call): New function.
(hppa64_push_dummy_call): New function.
(hppa_gdbarch_init): Set frame_align and push_dummy_call; keep
disabled.
2004-02-22 Andrew Cagney <cagney@redhat.com>
* hppa-tdep.c: Include "trad-frame.h", "frame-unwind.h", and
"frame-base.h".
(struct hppa_frame_cache): Define.
(hppa_frame_cache, hppa_frame_this_id): New functions.
(hppa_frame_prev_register): New function.
(hppa_frame_unwind, hppa_frame_base): New variables.
(hppa_frame_unwind_sniffer): New function.
(hppa_frame_base_address, hppa_unwind_pc): New function.
(hppa_gdbarch_init): Set unwind_dummy_id, unwind_pc, frame unwind
sniffer, and frame base sniffer; keep disabled.
(hppa_frame_base_sniffer, hppa_unwind_dummy_id): New functions.
* Makefile.in: Update dependencies, fix s/nbsd/obsd/ typo.