2004-02-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>

Committed by Jim Blandy  <jimb@redhat.com>.

	* s390-tdep.c: Include "trad-frame.h", "frame-base.h", and
	"frame-unwind.h".
	(s390_readinstruction): Reformat.  Use read_memory_nobpt.
	(GDB_TARGET_IS_ESAME, S390_GPR_SIZE, S390_FPR_SIZE): Remove.
	(S390_SYSCALL_OPCODE, S390_SYSCALL_SIZE): Remove.
	(S390_SIGCONTEXT_SREGS_OFFSET, S390X_SIGCONTEXT_SREGS_OFFSET,
	S390_SIGREGS_FP0_OFFSET, S390X_SIGREGS_FP0_OFFSET,
	S390_UC_MCONTEXT_OFFSET, S390X_UC_MCONTEXT_OFFSET,
	S390_SIGNAL_FRAMESIZE,
	s390_NR_sigreturn, s390_NR_rt_sigreturn): Remove.
	(struct frame_extra_info): Remove.
	(s390_memset_extra_info): Remove.
	(op_*, op1_*, op2_* enums): Add several new opcodes.
	(is_rse): Renamed to ...
	(is_rsy): ... this.  Support long displacements.
	(is_rxe): Renamed to ...
	(is_rxy): ... this.  Support long displacements.
	(compute_x_addr): Support long displacements.
	(struct s390_prologue_data): New data type.
	(s390_on_stack): Change API to use struct s390_prologue_data.
	(s390_store): Reimplement.
	(s390_load): New function.
	(s390_get_signal_frame_info): Remove.
	(s390_get_frame_info): Remove, replace by ...
	(s390_analyze_prolog): ... this new function.
	(s390_check_function_end): Remove.
	(s390_function_start): Remove.
	(s390_frameless_function_invokation): Remove.
	(s390_is_sigreturn): Remove.
	(s390_init_frame_pc_first): Remove.
	(s390_init_frame_extra_info): Remove.
	(s390_frame_init_saved_regs): Remove.
	(s390_frame_saved_pc_nofix): Remove.
	(s390_frame_saved_pc): Remove.
	(s390_frame_chain): Remove.
	(s390_fp_regnum, s390_read_fp): Remove.
	(s390_pop_frame_regular, s390_pop_frame): Remove.
	(s390_saved_pc_after_call): Remove.
	(s390_skip_prologue): Reimplement.
	(s390_in_function_epilogue_p): Support long displacements.
	(struct s390_unwind_cache): New data structure.
	(s390_frame_unwind_cache): New function.
	(s390_prologue_frame_unwind_cache): Likewise.
	(s390_backchain_frame_unwind_cache): Likewise.
	(s390_frame_this_id, s390_frame_prev_register): Likewise.
	(s390_frame_unwind): Define.
	(s390_frame_sniffer): New function.
	(struct s390_pltstub_unwind_cache): New data structure.
	(s390_pltstub_frame_unwind_cache): New function.
	(s390_pltstub_frame_this_id): Likewise.
	(s390_pltstub_frame_prev_register): Likewise.
	(s390_pltstub_frame_unwind): Define.
	(s390_pltstub_frame_sniffer): New function.
	(struct s390_sigtramp_unwind_cache): New data structure.
	(s390_sigtramp_frame_unwind_cache): New function.
	(s390_sigtramp_frame_this_id): Likewise.
	(s390_sigtramp_frame_prev_register): Likewise.
	(s390_sigtramp_frame_unwind): Define.
	(s390_sigtramp_frame_sniffer): New function.
	(s390_frame_base_address, s390_local_base_address): New functions.
	(s390_frame_base): Define.
	(s390_unwind_pc, s390_unwind_sp): New function.
	(s390_push_dummy_call): Use new frame base location.
	(s390_unwind_dummy_id): Likewise.
	(s390_gdbarch_init): Remove calls to:
	set_gdbarch_frameless_function_invocation,
	set_gdbarch_deprecated_init_frame_pc,
	set_gdbarch_deprecated_frame_chain,
	set_gdbarch_deprecated_frame_init_saved_regs,
	set_gdbarch_deprecated_pop_frame,
	set_gdbarch_deprecated_init_extra_frame_info,
	set_gdbarch_deprecated_init_frame_pc_first,
	set_gdbarch_deprecated_target_read_fp,
	set_gdbarch_deprecated_frame_saved_pc,
	set_gdbarch_deprecated_saved_pc_after_call,
	set_gdbarch_deprecated_fp_regnum.
	Add calls to:
	set_gdbarch_in_solib_call_trampoline,
	frame_unwind_append_sniffer,
	frame_base_set_default,
	set_gdbarch_unwind_pc,
	set_gdbarch_unwind_sp.
	* Makefile.in (s390-tdep.o): Update dependencies.
This commit is contained in:
Jim Blandy 2004-02-18 04:07:48 +00:00
parent b0cf273e65
commit a8c99f38d2
3 changed files with 1117 additions and 1075 deletions

View File

@ -2,6 +2,90 @@
Committed by Jim Blandy <jimb@redhat.com>.
* s390-tdep.c: Include "trad-frame.h", "frame-base.h", and
"frame-unwind.h".
(s390_readinstruction): Reformat. Use read_memory_nobpt.
(GDB_TARGET_IS_ESAME, S390_GPR_SIZE, S390_FPR_SIZE): Remove.
(S390_SYSCALL_OPCODE, S390_SYSCALL_SIZE): Remove.
(S390_SIGCONTEXT_SREGS_OFFSET, S390X_SIGCONTEXT_SREGS_OFFSET,
S390_SIGREGS_FP0_OFFSET, S390X_SIGREGS_FP0_OFFSET,
S390_UC_MCONTEXT_OFFSET, S390X_UC_MCONTEXT_OFFSET,
S390_SIGNAL_FRAMESIZE,
s390_NR_sigreturn, s390_NR_rt_sigreturn): Remove.
(struct frame_extra_info): Remove.
(s390_memset_extra_info): Remove.
(op_*, op1_*, op2_* enums): Add several new opcodes.
(is_rse): Renamed to ...
(is_rsy): ... this. Support long displacements.
(is_rxe): Renamed to ...
(is_rxy): ... this. Support long displacements.
(compute_x_addr): Support long displacements.
(struct s390_prologue_data): New data type.
(s390_on_stack): Change API to use struct s390_prologue_data.
(s390_store): Reimplement.
(s390_load): New function.
(s390_get_signal_frame_info): Remove.
(s390_get_frame_info): Remove, replace by ...
(s390_analyze_prolog): ... this new function.
(s390_check_function_end): Remove.
(s390_function_start): Remove.
(s390_frameless_function_invokation): Remove.
(s390_is_sigreturn): Remove.
(s390_init_frame_pc_first): Remove.
(s390_init_frame_extra_info): Remove.
(s390_frame_init_saved_regs): Remove.
(s390_frame_saved_pc_nofix): Remove.
(s390_frame_saved_pc): Remove.
(s390_frame_chain): Remove.
(s390_fp_regnum, s390_read_fp): Remove.
(s390_pop_frame_regular, s390_pop_frame): Remove.
(s390_saved_pc_after_call): Remove.
(s390_skip_prologue): Reimplement.
(s390_in_function_epilogue_p): Support long displacements.
(struct s390_unwind_cache): New data structure.
(s390_frame_unwind_cache): New function.
(s390_prologue_frame_unwind_cache): Likewise.
(s390_backchain_frame_unwind_cache): Likewise.
(s390_frame_this_id, s390_frame_prev_register): Likewise.
(s390_frame_unwind): Define.
(s390_frame_sniffer): New function.
(struct s390_pltstub_unwind_cache): New data structure.
(s390_pltstub_frame_unwind_cache): New function.
(s390_pltstub_frame_this_id): Likewise.
(s390_pltstub_frame_prev_register): Likewise.
(s390_pltstub_frame_unwind): Define.
(s390_pltstub_frame_sniffer): New function.
(struct s390_sigtramp_unwind_cache): New data structure.
(s390_sigtramp_frame_unwind_cache): New function.
(s390_sigtramp_frame_this_id): Likewise.
(s390_sigtramp_frame_prev_register): Likewise.
(s390_sigtramp_frame_unwind): Define.
(s390_sigtramp_frame_sniffer): New function.
(s390_frame_base_address, s390_local_base_address): New functions.
(s390_frame_base): Define.
(s390_unwind_pc, s390_unwind_sp): New function.
(s390_push_dummy_call): Use new frame base location.
(s390_unwind_dummy_id): Likewise.
(s390_gdbarch_init): Remove calls to:
set_gdbarch_frameless_function_invocation,
set_gdbarch_deprecated_init_frame_pc,
set_gdbarch_deprecated_frame_chain,
set_gdbarch_deprecated_frame_init_saved_regs,
set_gdbarch_deprecated_pop_frame,
set_gdbarch_deprecated_init_extra_frame_info,
set_gdbarch_deprecated_init_frame_pc_first,
set_gdbarch_deprecated_target_read_fp,
set_gdbarch_deprecated_frame_saved_pc,
set_gdbarch_deprecated_saved_pc_after_call,
set_gdbarch_deprecated_fp_regnum.
Add calls to:
set_gdbarch_in_solib_call_trampoline,
frame_unwind_append_sniffer,
frame_base_set_default,
set_gdbarch_unwind_pc,
set_gdbarch_unwind_sp.
* Makefile.in (s390-tdep.o): Update dependencies.
* s390-tdep.c (struct gdbarch_tdep): Add 'abi' member.
(S390_STACK_FRAME_OVERHEAD): Remove.
(S390_STACK_PARAMETER_ALIGNMENT): Remove.

View File

@ -2181,6 +2181,7 @@ s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) $(inferior_h) \
s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \
$(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) \
$(objfiles_h) $(tm_h) $(__bfd_bfd_h) $(floatformat_h) $(regcache_h) \
$(trad_frame_h) $(frame_base_h) $(frame_unwind_h) \
$(reggroups_h) $(regset_h) $(value_h) $(gdb_assert_h) $(dis_asm_h) \
$(s390_tdep_h)
scm-exp.o: scm-exp.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \

File diff suppressed because it is too large Load Diff