* alpha-tdep.c (alpha_push_dummy_call): Transmography from
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 97646e10cac000406f987f85964e45cde867c149..db2244b86553870084ab8be4ea599a90dfb322ec 100644 (file)
@@ -1,5 +1,373 @@
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+        * alpha-tdep.c (alpha_push_dummy_call): Transmography from
+        alpha_push_arguments.  Don't dump argument register data to
+        the target stack.  Fix float and 128-bit long double semantics.
+        Store $t12 and $ra as specified by the ABI.  Use regcache everywhere.
+        (alpha_fix_call_dummy): Remove.
+        (alpha_call_dummy_words): Remove.
+        (alpha_gdbarch_init): Kill deprecated call hooks; add push_dummy_call.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+       * alpha-linux-tdep.c (alpha_linux_init_abi): Install dwarf2 unwinder.
+
+2003-06-01  Andrew Cagney  <cagney@redhat.com>
+
+       * mips-tdep.c (is_mips16_addr): New function.
+       (make_mips16_addr, unmake_mips16_addr): New functions.
+       (pc_is_mips16, mips_fetch_instruction): Use.
+       (gdb_print_insn_mips, mips_breakpoint_from_pc): Use.
+       (gdb_print_insn_mips): Eliminate TM_PRINT_INSN_MACH.
+       (mips_dump_tdep): Delete print of TM_PRINT_INSN_MACH,
+       UNMAKE_MIPS16_ADDR, MAKE_MIPS16_ADDR, IS_MIPS16_ADDR and
+       TARGET_MIPS.
+       * config/mips/tm-mips.h: Update copyright.
+       (TARGET_MIPS, TM_PRINT_INSN_MACH): Delete.
+       (DEPRECATED_REGISTER_SIZE, DEPRECATED_REGISTER_BYTES): Delete.
+       (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR): Delete.
+       * config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Delete.
+       (TM_PRINT_INSN_MACH): Delete.
+       * config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Delete.
+
+       * configure.tgt: Replace mips64*vr4xxx*el-*-elf*,
+       mips64*vr4xxx*-*-elf*, mips64*vr4300*el-*-elf*,
+       mips64*vr4300*-*-elf*, mips64*vr4100*el-*-elf*,
+       mips64*vr4100*-*-elf*, mips64*vr5000*el-*-elf*, and
+       mips64*vr5000*-*-elf* with mips64 mips64*vr*-*-elf*.  Delete
+       mips*tx39*el*-elf*.  Map mips*-sony-* and mips64*-big-* onto
+       mips64.  Map mips*-dec-*, mips*-big-*, mips*-little-*,
+       mips*-*-riscos* and mips*-*-sysv* onto mips.
+       * config/mips/mips64.mt: New file.
+       * config/mips/mips.mt: New file.
+       * config/mips/littlemips.mt: Delete file.
+       * config/mips/decstation.mt: Delete file.
+       * config/mips/vr4300el.mt: Delete file.
+       * config/mips/vr5000el.mt: Delete file.
+       * config/mips/vr5000.mt: Delete file.
+       * config/mips/vr4100.mt: Delete file.
+       * config/mips/vr4xxxel.mt: Delete file.
+       * config/mips/vr4300.mt: Delete file.
+       * config/mips/vr4xxx.mt: Delete file.
+       * config/mips/bigmips.mt: Delete file.
+       * config/mips/bigmips64.mt: Delete file.
+       * config/mips/tx39l.mt (TM_FILE): Set to "tm-tx39.h".
+       * config/mips/embedl64.mt (TM_FILE): Set to "tm-mips64.h".
+       * config/mips/embed64.mt (TM_FILE): Set to "tm-mips64.h"
+       * config/mips/embedl.mt (TM_FILE): Set to "tm-mips.h".
+       * config/mips/tm-tx39.h: Include "tm-mips.h" instead of
+       "tm-bigmips.h".
+       * config/mips/tm-irix3.h: Ditto.
+       * config/mips/tm-mipsv4.h: Ditto.
+       * config/mips/tm-embed.h: Ditto.
+       * config/mips/tm-irix6.h: Include "tm-mips64.h" instead of
+       "tm-bigmips64.h".
+       * config/mips/tm-vr5000el.h: Delete file.
+       * config/mips/tm-tx39l.h: Delete file.
+       * config/mips/tm-vr4300el.h: Delete file.
+       * config/mips/tm-vr4xxxel.h: Delete file.
+       * config/mips/tm-vr4300.h: Delete file.
+       * config/mips/tm-vr4100.h: Delete file.
+       * config/mips/tm-vr4xxx.h: Delete file.
+       * config/mips/tm-vr5000.h: Delete file.
+       * config/mips/tm-embedl64.h: Delete file.
+       * config/mips/tm-embedl.h: Delete file.
+       * config/mips/tm-embed64.h: Delete file.
+       * config/mips/tm-bigmips64.h: Delete file.
+       * config/mips/tm-bigmips.h: Delete file.
+
+2003-06-01  Mark Kettenis  <kettenis@gnu.org>
+
+       Fix gdb/1216.
+       * shnbsd-nat.c: Include "sh-tdep.h".
+
+       From Richard Henderson  <rth@redhat.com>:
+       * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Fix ptr arithmetic.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+       * mips-tdep.c (set_reg_offset): Add saved_regs parameter.  Add
+       forward declaration.
+       (mips16_heuristic_proc_desc): Pass temp_saved_regs.
+       (mips16_heuristic_proc_desc): Pass temp_saved_regs.
+       (mips_find_saved_regs): Use set_reg_offset.
+       (mips_frame_init_saved_regs): Delete function.
+       (mips_pop_frame): Call mips_find_saved_regs instead of
+       DEPRECATED_FRAME_INIT_SAVED_REGS.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+       * mips-tdep.c (mips_gdbarch_init): Do not set
+       deprecated_max_register_raw_size, register_virtual_size, and
+       deprecated_max_register_virtual_size.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+       * i386-tdep.c: Include "dwarf2-frame.h".
+       (i386_gdbarch_init): Hook in the DWARF CFI frame unwinder.
+       * Makefile.in (i386-tdep.o): Update dependencies.
+
+       * dwarf2-frame.c, dwarf2-frame.h: New files.
+       * Makefile.in (SFILES): Add dwarf2-frame.c.
+       (dwarf2_frame_h): Define.
+       (COMMON_OBS): Add dwarf2-frame.o.
+       (dwarf2-frame.o): Add dependencies.
+
+2003-05-31  Andreas Jaeger  <aj@suse.de>
+
+       * x86-64-linux-nat.c: Fix comment.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+       * x86-64-tdep.c (x86_64_push_dummy_call): Adjust for changed
+       function signature.
+
+       * i386-tdep.c (i386_sigtramp_frame_p): Only handle frames if we
+       have a sigcontext_addr handler.
+       * x86-64-tdep.c (x86_64_sigtramp_frame_p): Assert that we have a
+       sigcontext_addr handler.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+       * mips-tdep.c (print_gp_register_row): Replace do_gp_register_row.
+       (print_fp_register_row): Replace do_fp_register_row.
+       (mips_print_fp_register): Add "file" and "frame" parameters.
+       (mips_print_register): Add "file" and "frame" parameters.
+       (mips_print_registers_info): Replace mips_do_registers_info.
+       (mips_gdbarch_init): Set print_registers_info instead of
+       deprecated_do_registers_info.
+       (mips_read_fp_register_single): Add "frame" parameter.
+       (mips_read_fp_register_double): Add "frame" parameter.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+       * i386-tdep.c (i386_register_name): Check for MMX registers first.
+       Fixes a bug where GDB would print the wrong register names for
+       targets without SSE.
+
+       * x86-64-tdep.c (X86_64_NUM_SAVED_REGS): Set to X86_64_NUM_GREGS.
+       (x86_64_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
+       registers.
+
+       * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): New variable.
+       (x86_64_linux_init_abi): Initialize TDEP->sc_reg_offset and
+       TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+       TDEP->sc_sp_offset.
+
+       From Michal Ludvig  <mludvig@suse.cz>:
+       * i386-tdep.h (struct gdbarch_tdep): Add members `sc_reg_offset'
+       and `sc_num_regs'.
+       (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
+       I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM,
+       I386_ST0_REGNUM): Move here from...
+       * i386-tdep.c: ... here.
+       (I386_NUM_SAVED_REGS): Define to I386_NUM_REGS.
+       (i386_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
+       registers if possible.
+       (i386_gdbarch_init): Initialize TDEP->sc_reg_offset.
+       * i386bsd-tdep.c (i386bsd_sc_pc_offset, i386bsd_sc_sp_offset):
+       Remove variables.
+       (i386bsd_sc_reg_offset): New variable.
+       (i386bsd_init_abi): Initialize TDEP->sc_reg_offset and
+       TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+       TDEP->sc_sp_offset.
+       (i386fbsd_sc_reg_offset): New variable.
+       (i386fbsdaout_init_abi): Initialize TDEP->sc_reg_offset and
+       TDEP->sc_num_regs.
+       (i386fbsd4_sc_pc_offset, i386fbsd4_sc_sp_offset): Remove
+       variables.
+       (i386fbsd4_sc_reg_offset): New variable.
+       (i3864bsd4_init_abi): Initialize TDEP->sc_reg_offset and
+       TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+       TDEP->sc_sp_offset.
+       * i386-linux-tdep.c (i386_linux_sc_reg_offset): New variable.
+       (i386_linux_init_abi): Set TDEP->sc_reg_offset and TDEP->sc_num_regs.
+       * i386nbsd-tdep.c (i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset):
+       Remove variables.
+       (i386nbsd_sc_reg_offset): New variable.
+       (i386nbsd_init_abi): Initialize TDEP->sc_reg_offset and
+       TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+       TDEP->sc_sp_offset.
+       * i386obsd-tdep.c (i386obsd_sc_pc_offset, i386obsd_sc_sp_offset):
+       Remove variables.
+       (i386obsd_sc_reg_offset): New variable.
+       (i386obsd_init_abi): Initialize TDEP->sc_reg_offset and
+       TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+       TDEP->sc_sp_offset.
+       * i386bsd-nat.c (_initialize_i386bsd_nat): Adjust for changes in
+       i386bsd-tdep.c, i386nbsd-tdep.c and i386obsd-tdep.c.  Add check
+       for frame pointer offset in `struct sigcontext'.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+       * mips-tdep.c (mips_gdbarch_init): Do not set the deprecated
+       architecture methods call_dummy_words, sizeof_call_dummy_words,
+       push_return_address, store_struct_return, and fix_call_dummy.  Set
+       push_dummy_call instead of deprecated_push_arguments.
+       (mips_store_struct_return): Delete function.
+       (mips_fix_call_dummy): Delete function.
+       (mips_push_return_address): Delete function.
+       (mips_eabi_push_dummy_call): Replace mips_eabi_push_arguments, set
+       RA_REGNUM and T9_REGNUM.
+       (mips_n32n64_push_dummy_call): Ditto for
+       mips_n32n64_push_arguments.
+       (mips_o32_push_dummy_call): Ditto for mips_o32_push_arguments.
+       (mips_o64_push_dummy_call): Ditto for mips_o64_push_arguments.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbarch.sh (PUSH_DUMMY_CALL): Add "func_addr" parameter.  Rename
+       "dummy_addr" to "bp_addr".
+       * infcall.c (call_function_by_hand): Pass "funaddr" to
+       gdbarch_push_dummy_call.
+       * gdbarch.h, gdbarch.c: Re-generate.
+       * i386-tdep.c (i386_push_dummy_call): Update.
+       * arm-tdep.c (arm_push_dummy_call): Update.
+       * d10v-tdep.c (d10v_push_dummy_call): Update.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+       * x86-64-tdep.h (x86_64_num_regs, x86_64_num_gregs): Remove
+       variable declarations.
+       (x86_64_register_number, x86_64_register_name): Remove prototypes.
+       (x86_64_linux_frame_saved_pc, x86_64_linux+saved_pc_after_call,
+       x86_64_linux_in_sigtramp, x86_64_linux_frame_chain,
+       x86_64_init_frame_pc, x86_64_init_frame_pc,
+       x86_64_function_has_prologue): Remove prototypes.
+       (X86_64_NUM_GREGS): New define.
+       (x86_64_supply_fxsave, x86_64_fill_fxsave): New prototypes.
+       * x86-64-tdep.c: Don't include "dwarf2cfi.h".  Include
+       "dummy_frame.h", "frame.h", "frame-base.h", "frame-unwind.h".
+       (RAX_REGNUM, RDX_REGNUM, RDI_REGNUM, EFLAGS_REGNUM, ST0_REGNUM,
+       XMM1_REGNUM): Remove defines.
+       (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM,
+       X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM,
+       X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM,
+       X86_64_XMM1_REGNUM): New defines.
+       (struct x86_64_register_info): Renamed from `struct
+       register_info'.  Remove `size' member.
+       (x86_64_register_info_table): Remove variable.
+       (x86_64_register_info): New variable.
+       (X86_64_NUM_REGS): New define.
+       (X86_64_NUM_GREGS): Remove define.
+       (x86_64_num_regs, x86_64_num_gregs): Remove variables.
+       (x86_64_dwarf2gdb_regno_map, x86_64_dwarf2gdb_regno_map_length):
+       Remove variables.
+       (x86_54_dwarf2_reg_to_regnum): Remove function.
+       (x86_64_dwarf_regmap, x86_64_dwarf_regmap_len): New variables.
+       (x86_64_dwarf_reg_to_regnum): New function.
+       (x86_64_register_name): Rewrite.
+       (x86_64_register_raw_size): Remove function.
+       (x86_64_register_byte_table): Remove variable.
+       (x86_64_register_byte): Remove function.
+       (x86_64_register_virtual_type): Remove function.
+       (x86_64_register_type): New function.
+       (x86_64_register_convertible, x86_64_register_convert_to_virtual,
+       x86_64_register_convert_to_raw): Remove functions.
+       (x86_64_push_return_address, x86_64_pop_frame): Remove functon.
+       (x86_64_use_struct_convention): Make static.  Adjust for renamed
+       defines.
+       (x86_64_frame_init_saved_regs): Remove function.
+       (x86_64_push_arguments): Make static.  Change to accept a regcache
+       as argument.
+       (x86_64_store_return_value, x86_64_extract_return_value): Make
+       static.  Rewrite based on i386 counterparts.
+       (x86_64_push_dummy_call): New function.
+       (X86_64_NUM_SAVED_REGS): New define.
+       (x86_64_register_number): Remove function.
+       (x86_64_store_struct_return): Remove function.
+       (x86_64_frameless_function_invocation,
+       x86_64_function_has_prologue): Remove functions.
+       (PROLOG_BUFSIZE): Remove define.
+       (struct x86_64_frame_cache): New structure.
+       (x86_64_alloc_frame_cache, x86_64_analyze_prologue,
+       x86_64_frame_cache, x86_64_frame_this_id,
+       x86_64_frame_prev_register, x86_64_frame_p,
+       x86_64_sigtramp_frame_cache, x86_64_sigtramp_frame_this_id,
+       x86_64_sigtramp_frame_prev_register, x86_sigtramp_frame_p): New
+       functions.
+       (x86_64_frame_unwind, x86_64_sigtramp_frame_unwind): New
+       variables.
+       (x86_64_skip_prologue): Rewrite in terms of
+       x86_64_analyze_prologue.
+       (x86_64_frame_base_address): New function.
+       (x86_64_frame_base): New variable.
+       (x86_64_save_dummy_frame_tos, x86_64_unwind_dummy_id): Rewrite.
+       (x86_64_init_abi): Set register_type and push_dummy_call.  Don't
+       set deprecated_fp_regnum, deprecated_register_size,
+       deprecated_register_bytes, register_raw_size, register_byte,
+       register_virtual_type, register_convertiable,
+       register_convert_to_virtual, convert_to_raw,
+       deprecated_get_saved_register, deprecated_target_read_fp,
+       deprecated_push_arguments, deprecated_push_return_address,
+       deprecated_pop_frame, deprecated_store_struct_return,
+       deprecated_frame_init_saved_regs, deprecated_frame_chain,
+       frameless_function_invocation, deprecated_frame_saved_pc,
+       deprecated_saved_pc_after_call, frame_num_args, pc_in_sigtramp,
+       dwarf2_build_frame_info, deprecated_init_extra_frame_info,
+       deprecated_init_frame_pc and virtual_frame_pointer.  Call
+       frame_unwind_append_predicate to register x86_64_sigtramp_frame_p
+       and x86_64_frame_p.  Call frame_base_set_default to register
+       x86_64_frame_base.
+       (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): New defines.
+       (x86_64_supply_fxsave, x86_64_fill_fxsave): New functions.
+       (_initialize_x86_64_tdep): Remove function.
+       * x86-64-linux-tdep.c: Don't include "dwarf2cfi.h".
+       (LINUX_SIGINFO_SIZE, LINUX_UCONTEXT_SIGCONTEXT_OFFSET,
+       LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_FP_OFFSET): Don't
+       define.
+       (X86_64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Define.
+       (x86_64_linux_sigcontext_addr): Rewrite.
+       (x86_64_linux_sigtramp_saved_pc, x86_64_linux_saved_pc_after_call,
+       x86_64_linux_frame_saved_pc): Remove functions.
+       (x86_64_linux_pc_in_sigtramp): Renamed from
+       x86_64_linux_in_sigtramp.  Try harder to recognize a signal
+       trampoline.
+       (x86_64_linux_frame_chain, x86_64_init_frame_pc):
+       Remove_functions.
+       (x86_64_linux_init_abi): Set pc_in_sigtramp.  Initialize
+       TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
+       * x86-64-linux-nat.c: Sync with i386-linux-tdep.c.
+       (x86_64_regmap): Rename to regmap.
+       (GETREGS_SUPPLIES): Use X86_64_NUM_GREGS instead of
+       x86_64_num_gregs.
+       (supply_gregset, fill_gregset): Likewise.  Use regmap instead of
+       x86_64_regmap.
+       (x86_64_fxsave_offset): Remove function.
+       (supply_fpregset): Simply call x86_64_supply_fxsave.
+       (fill_fpregset): Simply call x86_64_fill_fxsave.
+       (fetch_inferior_registers, store_inferior_registers): Avoid
+       asignment in if-statement.
+       (LINUX_SYSCALL_LEN, LINUX_SYSCALL_REGNUM, SYS_Sigreturn,
+       SYS_rt_sigreturn, LINUX_SIGCONTEXT_EFLAGS_OFFSET,
+       LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Remove defines.
+       (fetch_core_registers): Remove function.
+       (linux_elf_core_fns): Remove.
+       (offsetoff): Don't define.
+       (_initialize_x86_64_linux_nat, kernel_u_size): Remove functions.
+       * config/i386/x86-64linux.mt (TDEPFILES): Add i386-linux-tdep.o.
+       * config/i386/x86-64linux.mh (NATDEPFILES): Remove core-aout.o,
+       add core-regset.o.
+       * config/i386/nm-x86-64linux.h: Use NM_X86_64_LINUX_H for
+       protection against multiple includes instead of NM_X86_64_h.  Add
+       various comments.  Include "config/nm-linux.h".  Don't include
+       <signal.h>.
+       (REGISTER_U_ADDR, KERNEL_U_SIZE, U_REGS_OFFSET, KERN_U_ADDR,
+       GET_THREAD_SIGNALS): Remove defines.
+       (x86_64_register_u_addr, kernel_u_size,
+       lin_thread_get_thread_signals): Remove prototypes.
+       (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define to `long'.
+       [HAVE_LINK_H]: Don't include "solib.h".
+       [HAVE_LINK_H] (SVR4_SHARED_LIBS): Remove define.
+       * config/i386/tm-x86-64linux.h: Fix comments.
+       * Makefile.in (x86-64-linux-nat.o, x86_64-linux-tdep.o,
+       x86-64-tdep.o): Update dependencies.
+
 2003-05-30  Andrew Cagney  <cagney@redhat.com>
 
+       * config/sparc/tm-sparc.h (sparc_extract_struct_value_address):
+       Change parameter type to a "struct regcache *".
+
        * gdbarch.sh: Regardless of the multi-arch level, always define
        the macro when not already defined.
        * gdbarch.h, gdbarch.c: Re-generate.
This page took 0.028187 seconds and 4 git commands to generate.