Andreas Schwab
fefa18880b
* m68klinux-tdep.c: Include "glibc-tdep.h" and "solib-svr4.h".
...
(m68k_linux_init_abi): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets and gdbarch_skip_solib_resolver
to glibc_skip_solib_resolver.
* config/m68k/linux.mt (TDEPFILES): Add glibc-tdep.o. Remove
solib-legacy.o.
* Makefile.in (m68klinux-tdep.o): Update dependencies.
2004-11-21 01:51:16 +00:00
Andrew Cagney
af380d6174
2004-10-31 Andrew Cagney <cagney@gnu.org>
...
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Do not set
in_solib_call_trampoline to in_plt_entry, IN_SOLIB_CALL_TRAMPOLINE
isn't used by this architecture.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Ditto.
* sparc64obsd-tdep.c (sparc64obsd_init_abi): Ditto.
* sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Ditto.
* s390-tdep.c (s390_gdbarch_init): Ditto.
* ppc-linux-tdep.c (ppc_linux_init_abi): Ditto.
* m68klinux-tdep.c (m68k_linux_init_abi): Ditto.
* i386-tdep.c (i386_svr4_init_abi): Ditto.
* i386-nto-tdep.c (i386nto_init_abi): Ditto.
* arm-linux-tdep.c (arm_linux_init_abi): Ditto.
* amd64-tdep.c (amd64_init_abi): Ditto.
2004-10-31 19:52:47 +00:00
Andrew Cagney
1f602b35ff
2004-07-20 Andrew Cagney <cagney@gnu.org>
...
* breakpoint.c (deprecated_read_memory_nobpt): Rename
read_memory_nobpt.
* sparc-linux-tdep.c (sparc_linux_sigtramp_start): Update.
* s390-tdep.c (s390_readinstruction, s390_in_function_epilogue_p)
(s390_sigtramp_frame_sniffer): Update.
* mn10300-tdep.c (mn10300_analyze_prologue): Update.
* mipsnbsd-tdep.c (mipsnbsd_sigtramp_offset): Update.
* mips-tdep.c (mips_fetch_instruction, mips16_fetch_instruction)
(mips32_fetch_instruction): Update.
* mcore-tdep.c (get_insn): Update.
* m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Update.
* i386nbsd-tdep.c (i386nbsd_sigtramp_offset): Update.
* i386ly-tdep.c (i386lynx_saved_pc_after_call): Update.
* i386-linux-tdep.c (i386_linux_sigtramp_start)
(i386_linux_rt_sigtramp_start): Update.
* i386-linux-nat.c (child_resume): Update.
* hppa-tdep.c (skip_prologue_hard_way, hppa_frame_cache): Update.
* hppa-linux-tdep.c (insns_match_pattern): Update.
* gdbcore.h: Update.
* frv-tdep.c (frv_gdbarch_adjust_breakpoint_address): Update.
* frame.c (safe_frame_unwind_memory): Update.
* amd64-linux-tdep.c (amd64_linux_sigtramp_start): Update.
* alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Update.
* alpha-tdep.c (alpha_read_insn): Update.
2004-07-20 19:45:07 +00:00
Mark Kettenis
f595cb1909
* m68k-tdep.h (struct gdbarch_tdep): Add member
...
struct_value_regnum.
(m68k_svr4_init_abi): New prototype.
* m68k-tdep.c: Include "floatformat.h". Add comment about all the
different calling conventions.
(m68k_extract_return_value): Remove code dealing with single-field
structs.
(m68k_store_return_value): Remove code dealing with single-field
structs. Correctly store return values of 5, 6, 7 or 8 bytes.
(m68k_extract_struct_value_address): Remove function.
(m68k_svr4_extract_return_value,m68k_svr4_store_return_value)
(m68k_reg_struct_return_p, m68k_return_value)
(m68k_svr4_return_value): New functions.
(m68k_use_struct_convention): Remove function.
(m68k_push_dummy_call): Use new struct_value_regnum member of
`struct gdbarch_tdep' instead of hardcoded register number to
store STRUCT_ADDR.
(m68k_svr4_init_abi): New function.
(m68k_gdbarch_init): Don't set extract_return_value,
store_return_values, deprecated_extract_struct_value_address and
use_struct_convention. Set return_value instead. Initialize new
struct_value_regnum member of `struct gdbarch_tdep'.
* m68klinux-tdep.c: Update copyright year.
(m68k_linux_extract_return_value, m68k_linux_store_return_value)
(m68k_linux_extract_struct_value_address): Remove function.
(m68k_linux_init_abi): Don't set extract_return_value,
store_return_values, deprecated_extract_struct_value_address and
use_struct_convention. Call m68k_svr4_init_abi but override the
new struct_value_regnum member of `struct gdbarch_tdep'.
* Makefile.in (m68k-tdep.o): Update dependencies.
2004-05-03 21:56:09 +00:00
Andrew Cagney
17e20bce79
2004-05-01 Andrew Cagney <cagney@redhat.com>
...
* Makefile.in (m68klinux-nat.o): Update dependencies.
* m68klinux-tdep.c: Include "trad-frame.h" and "frame-unwind.h".
(m68k_linux_sigtramp_frame_cache)
(m68k_linux_sigtramp_frame_this_id)
(m68k_linux_sigtramp_frame_prev_register)
(m68k_linux_sigtramp_frame_unwind)
(m68k_linux_sigtramp_frame_sniffer)
(struct m68k_linux_sigtramp_info, m68k_linux_init_abi): Code from
m68k-tdep.h and m68k-tdep.c, add "linux" to function and variable
names, use trad-frame.h.
* m68k-tdep.h (struct gdbarch_tdep): Delete get_sigtramp_info.
(struct m68k_sigtramp_info): Delete.
* m68k-tdep.c (m68k_sigtramp_frame_cache)
(m68k_sigtramp_frame_this_id, m68k_sigtramp_frame_prev_register)
(m68k_sigtramp_frame_unwind, m68k_sigtramp_frame_sniffer)
(m68k_gdbarch_init): Delete all the sigtramp code, moved to
"m68klinux-tdep.c".
2004-05-01 15:10:15 +00:00
Andrew Cagney
f561f02630
2004-03-23 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (PC_IN_SIGTRAMP): Change to a function with
predicate, deprecate.
* gdbarch.h, gdbarch.c: Re-generate.
* alpha-linux-tdep.c (alpha_linux_init_abi): Update.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Update.
* alpha-tdep.c (alpha_sigtramp_frame_sniffer): Update.
* alphafbsd-tdep.c (alphafbsd_init_abi): Update.
* alphanbsd-tdep.c (alphanbsd_init_abi): Update.
* amd64-linux-tdep.c (amd64_linux_init_abi): Update.
* amd64-tdep.c (amd64_sigtramp_frame_sniffer): Update.
* amd64nbsd-tdep.c (amd64nbsd_init_abi): Update.
* amd64obsd-tdep.c (amd64obsd_init_abi): Update.
* arm-tdep.c (arm_sigtramp_unwind_sniffer): Update.
* blockframe.c (find_pc_partial_function): Update.
* breakpoint.c (bpstat_what): Update.
* frame.c (frame_type_from_pc, legacy_get_prev_frame): Update.
* frv-linux-tdep.c (frv_linux_init_abi): Update.
* frv-tdep.c (frv_sigtramp_frame_sniffer): Update.
* hppa-hpux-tdep.c (hppa_hpux_init_abi): Update.
* i386-interix-tdep.c (i386_interix_init_abi): Update.
* i386-linux-tdep.c (i386_linux_init_abi): Update.
* i386-nto-tdep.c (i386nto_init_abi): Update.
* i386-sol2-tdep.c (i386_sol2_init_abi): Update.
* i386-tdep.c (i386_sigtramp_frame_sniffer)
(i386_svr4_init_abi, i386_go32_init_abi, i386_gdbarch_init): Update.
* i386bsd-tdep.c (i386bsd_init_abi): Update.
* i386nbsd-tdep.c (i386nbsd_init_abi): Update.
* i386obsd-tdep.c (i386obsd_init_abi): Update.
* ia64-tdep.c (ia64_sigtramp_frame_sniffer): Update.
* infrun.c (pc_in_sigtramp): Update.
* m68k-tdep.c (m68k_sigtramp_frame_sniffer): Update.
* m68klinux-tdep.c (m68k_linux_init_abi): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* mipsnbsd-tdep.c (mipsnbsd_init_abi): Update.
* ppc-linux-tdep.c: Update comment.
* ppcnbsd-tdep.c (ppcnbsd_init_abi): Update.
* shnbsd-tdep.c (shnbsd_init_abi): Update.
* sparc-linux-tdep.c (sparc32_linux_init_abi): Update.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Update.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Update.
* sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Update.
* sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Update.
* sparc64obsd-tdep.c (sparc64obsd_init_abi): Update.
* sparcnbsd-tdep.c (sparc32nbsd_init_abi): Update.
* sparcobsd-tdep.c (sparc32obsd_init_abi): Update.
Index: doc/ChangeLog
2004-03-23 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Deprecate
references to PC_IN_SIGTRAMP.
2004-03-23 14:48:00 +00:00
Andrew Cagney
74055713e6
2004-01-26 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (EXTRACT_STRUCT_VALUE_ADDRESS): Deprecate. Add
comments mentioning extract_returned_value_address.
* infcmd.c (print_return_value): Update. Add comments on
extract_returned_value_address.
* stack.c (return_command): Add comments on
extract_returned_value_address.
* values.c: Update comment.
* m32r-tdep.c: Update comment.
* sparc-tdep.c: Update comment.
* ia64-tdep.c (ia64_use_struct_convention): Update comment.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
* sh64-tdep.c (sh64_gdbarch_init): Update.
* sh-tdep.c (sh_gdbarch_init): Update.
* s390-tdep.c (s390_gdbarch_init): Update.
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
* m68klinux-tdep.c (m68k_linux_init_abi): Update.
* m68k-tdep.c (m68k_gdbarch_init): Update.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
* m32r-tdep.c (m32r_gdbarch_init): Update.
* ia64-tdep.c (ia64_gdbarch_init): Update.
* h8300-tdep.c (h8300_gdbarch_init): Update.
* frv-tdep.c (frv_gdbarch_init): Update.
* arm-tdep.c (arm_gdbarch_init): Update.
* alpha-tdep.c (alpha_gdbarch_init): Update.
Index: doc/ChangeLog
2004-01-26 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Rename
EXTRACT_STRUCT_VALUE_ADDRESS to
DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS.
2004-01-26 20:52:13 +00:00
Andreas Schwab
c481dac737
* m68k-tdep.h (enum struct_return): Define.
...
(struct gdbarch_tdep): Add struct_return.
* m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4
bytes are padded to the right, not to the left. Pass struct value
address in register %a1, not on stack.
(m68k_use_struct_convention): New function.
(m68k_gdbarch_init): Set use_struct_convention. Initialize
struct_return in tdep to pcc_struct_return.
* m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to
reg_struct_return.
2003-07-09 21:36:08 +00:00
Andreas Schwab
8de307e0c2
* Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
...
dependencies.
* m68k-tdep.c (NUM_FREGS): Delete.
(SIG_PC_FP_OFFSET): Delete.
(TARGET_M68K): Delete.
(P_MOVEAL_SP_FP, P_ADDAW_SP, P_ADDAL_SP, P_SUBQW_SP,
P_SUBQL_SP, P_LEA_SP_SP, P_LEA_PC_A5, P_FMOVEMX_SP,
P_MOVEL_SP, P_MOVEML_SP): Define.
(P_MOVL_SP_FP, P_MOVL, P_JSR, P_BSR, P_LEAL, P_MOVML, P_FMOVM,
P_TRAP): Delete.
(m68k_register_raw_size): Delete.
(m68k_register_virtual_size): Delete.
(m68k_register_type): Renamed from m68k_register_virtual_type and
add gdbarch argument.
(m68k_store_struct_return): Delete.
(m68k_deprecated_extract_return_value): Delete.
(m68k_deprecated_extract_struct_value_address): Delete.
(m68k_frame_chain): Delete.
(m68k_frame_saved_pc): Delete.
(m68k_fix_call_dummy): Delete.
(m68k_push_dummy_frame): Delete.
(m68k_pop_frame): Delete.
(m68k_extract_return_value): New function.
(m68k_store_return_value): Rewrite using regcache.
(m68k_extract_struct_value_address): Rewrite using regcache.
(m68k_push_dummy_call): New function.
(struct m68k_frame_cache): Define.
(m68k_alloc_frame_cache): New function.
(m68k_analyze_frame_setup): New function.
(m68k_analyze_register_saves): New function.
(m68k_analyze_prologue): New function.
(m68k_skip_prologue): Rewrite using above functions.
(m68k_unwind_pc): New function.
(m68k_frame_cache): New function.
(m68k_frame_this_id): New function.
(m68k_frame_prev_register): New function.
(m68k_frame_unwind): New variable.
(m68k_frame_p): New function.
(m68k_sigtramp_frame_cache): New function.
(m68k_sigtramp_frame_this_id): New function.
(m68k_sigtramp_frame_prev_register): New function.
(m68k_sigtramp_frame_unwind): New variable.
(m68k_sigtramp_frame_p): New function.
(m68k_frame_base_address): New function.
(m68k_frame_base): New function.
(m68k_unwind_dummy_id): New function.
(fill_gregset): Use regcache_collect.
(fill_fpregset): Likewise.
(m68k_saved_pc_after_call): Only define if SYSCALL_TRAP is
defined.
(m68k_gdbarch_init): Don't define call_dummy_words. Don't set
deprecated_init_frame_pc, deprecated_store_struct_return,
deprecated_extract_return_value, deprecated_store_return_value,
deprecated_frame_chain, deprecated_frame_saved_pc,
deprecated_frame_init_saved_regs, deprecated_register_raw_size,
deprecated_register_virtual_size,
deprecated_max_register_raw_size,
deprecated_max_register_virtual_size,
deprecated_register_virtual_type, deprecated_register_size,
deprecated_register_byte, deprecated_register_bytes,
deprecated_fp_regnum, deprecated_use_generic_dummy_frames,
call_dummy_location, deprecated_call_dummy_breakpoint_offset,
deprecated_pc_in_call_dummy, deprecated_call_dummy_length,
deprecated_call_dummy_start_offset, deprecated_call_dummy_words,
deprecated_sizeof_call_dummy_words, deprecated_fix_call_dummy,
deprecated_push_dummy_frame, deprecated_pop_frame,
deprecated_dummy_write_sp. Set deprecated_saved_pc_after_call
only if SYSCALL_TRAP is defined. Set extract_return_value,
store_return_value, extract_struct_value_address, register_type,
push_dummy_call, unwind_dummy_id, unwind_pc. Add two frame unwind
predicates.
* m68k-tdep.h (M68K_D1_REGNUM, M68K_NUM_REGS,
M68K_MAX_REGISTER_SIZE): Define.
(struct m68k_sigtramp_info): Define.
(struct gdbarch_tdep): Add get_sigtramp_info.
* m68klinux-nat.c (fetch_register): Use register_size instead of
REGISTER_RAW_SIZE. Don't put assignment in if.
(store_register): Likewise.
(fetch_inferior_registers): Likewise.
(store_inferior_registers): Likewise.
* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Delete.
(m68k_linux_frame_saved_pc): Delete.
(m68k_linux_sigcontext_reg_offset,
m68k_linux_ucontext_reg_offset): Define.
(m68k_linux_get_sigtramp_info): New function.
(m68k_linux_extract_return_value): Rewrite using regcache.
(m68k_linux_store_return_value): Likewise.
(m68k_linux_extract_struct_value_address): Likewise.
(m68k_linux_init_abi): Set get_sigtramp_info in tdep structure.
Don't set deprecated_frame_saved_pc,
deprecated_extract_return_value, deprecated_store_return_value,
deprecated_extract_struct_value_address. Set
extract_return_value, store_return_value,
extract_struct_value_address.
2003-07-07 15:06:11 +00:00
Andrew Cagney
781a750d29
2003-06-11 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (DEPRECATED_REGISTER_CONVERTIBLE): Deprecate
REGISTER_CONVERTIBLE.
(DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL): Same.
(DEPRECATED_REGISTER_CONVERT_TO_RAW): Same, make "from" constant.
* gdbarch.h, gdbarch.c: Re-generate.
* arch-utils.h (deprecated_register_convertible_not): Rename
generic_register_convertible_not.
* arch-utils.c (deprecated_register_convertible_not): Rename
generic_register_convertible.
(legacy_convert_register_p, legacy_register_to_value): Update.
* sh-tdep.c (sh64_push_arguments): Update.
* m68klinux-tdep.c (m68k_linux_extract_return_value): Update.
* config/m68k/tm-delta68.h (DEPRECATED_EXTRACT_RETURN_VALUE): Update.
* m68klinux-tdep.c (m68k_linux_store_return_value): Update.
* config/m68k/tm-delta68.h (DEPRECATED_STORE_RETURN_VALUE): Update.
* arch-utils.c (legacy_value_to_register): Update.
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
(rs6000_register_convert_to_raw): Make parameter "from" const.
* mips-tdep.c (mips_gdbarch_init): Update.
(mips_register_convert_to_raw): Make parameter"virt_buf" const.
* infcmd.c (default_print_registers_info): Update.
* ia64-tdep.c (ia64_gdbarch_init): Update.
(ia64_register_convert_to_raw): Make parameter "from" const.
* i386-tdep.c (i386_gdbarch_init): Update.
(i386_register_convert_to_raw): Update.
2003-06-11 19:38:27 +00:00
Andreas Schwab
eb2e12d711
* m68k-tdep.c (m68k_register_raw_size): Remove cast.
...
(m68k_register_virtual_size): Likewise.
(altos_skip_prologue): Remove obsolete function.
(isi_frame_num_args): Likewise.
(news_frame_num_args): Likewise.
(m68k_fix_call_dummy): Make static.
(m68k_push_dummy_frame): Likewise.
(m68k_pop_frame): Likewise.
(m68k_skip_prologue): Likewise.
(m68k_frame_init_saved_regs): Likewise.
(m68k_saved_pc_after_call): Likewise.
(m68k_get_longjmp_target): Make multi-arch.
(m68k_gdbarch_init): Allocate and initialize gdbarch_tdep
structure. Register m68k_get_longjmp_target if enabled.
* m68k-tdep.h (struct gdbarch_tdep): Define.
* config/m68k/tm-m68k.h: Don't include "regcache.h".
* Makefile.in (config.status): Also depend on configure.tgt
and configure.host.
(m68klinux-tdep.o): Update dependencies.
* configure.tgt (m68*-*-linux*): Set gdb_multi_arch to 1.
* m68klinux-tdep.c (M68K_LINUX_JB_ELEMENT_SIZE): Define.
(M68K_LINUX_JB_PC): Define.
(m68k_linux_pc_in_sigtramp): Renamed from m68k_linux_in_sigtramp
and take additional parameter.
(m68k_linux_sigtramp_saved_pc): Update.
(m68k_linux_init_abi): Set jb_pc and jb_elt_size. Register
m68k_linux_pc_in_sigtramp, in_plt_section,
find_solib_trampoline_target.
* config/m68k/tm-linux.h: Don't include any tm headers.
(START_INFERIOR_TRAPS_EXPECTED): Remove definition.
(JB_ELEMENT_SIZE): Likewise.
(JB_PC): Likewise.
(GET_LONGJMP_TARGET): Likewise.
(IN_SIGTRAMP): Likewise.
(SVR4_SHARED_LIBS): Define this and include "solib.h".
2003-05-25 18:50:55 +00:00
Andreas Schwab
55809acbfc
* Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
...
dependencies.
* m68k-tdep.c (m68k_gdbarch_init): Call gdbarch_init_osabi at the
end.
* m68klinux-tdep.c (m68k_linux_init_abi): New function.
(_initialize_m68k_linux_tdep): New function.
(m68k_linux_frame_saved_pc): Make static.
(m68k_linux_extract_return_value): Likewise.
(m68k_linux_store_return_value): Likewise.
(m68k_linux_extract_struct_value_address): Likewise.
* config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE):
Remove.
(DEPRECATED_STORE_RETURN_VALUE): Remove.
(DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
(DEPRECATED_FRAME_SAVED_PC): Remove.
2003-05-20 23:44:23 +00:00
Andreas Schwab
d0b45d99e8
* Makefile (m68klinux-nat.o, m68klinux-tdep.o): Update
...
dependencies.
* config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE): Define
as m68k_linux_extract_return_value.
(DEPRECATED_STORE_RETURN_VALUE): Define as
m68k_linux_store_return_value.
(DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Define as
m68k_linux_extract_struct_value_address.
* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Use
get_next_frame, get_frame_base, get_frame_pc.
(m68k_linux_frame_saved_pc): Use get_frame_base.
(m68k_linux_extract_return_value): New function.
(m68k_linux_store_return_value): New function.
(m68k_linux_extract_struct_value_address): New function.
* config/m68k/tm-m68k.h: Declare m68k_get_longjmp_target.
2003-05-18 21:10:11 +00:00
Andreas Schwab
b5fc49aa64
* m68k-tdep.c (m68k_frame_chain, m68k_frame_saved_pc)
...
(altos_skip_prologue, delta68_frame_saved_pc, isi_frame_num_args)
(delta68_frame_num_args, news_frame_num_args, m68k_skip_prologue)
(m68k_frame_init_saved_regs, m68k_saved_pc_after_call): Use
read_memory_unsigned_integer instead of read_memory_integer when
dealing with addresses and instruction opcodes.
* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc)
(m68k_linux_frame_saved_pc): Likewise.
2002-11-29 19:33:17 +00:00
Andreas Schwab
0a59580323
* m68klinux-nat.c (IS_SIGTRAMP, IS_RT_SIGTRAMP)
...
(m68k_linux_in_sigtramp, SIGCONTEXT_PC_OFFSET)
(UCONTEXT_PC_OFFSET, m68k_linux_sigtramp_saved_pc)
(m68k_linux_frame_saved_pc): Move to ...
* m68klinux-tdep.c: ... here. New file.
* Makefile.in (m68klinux-tdep.o): Add dependencies.
* config/m68k/linux.mt (TDEPFILES): Add m68klinux-tdep.o.
2002-11-19 23:14:45 +00:00