Mark Kettenis
3f63813d05
* i386bsd-nat.c: Update copyright year.
...
(CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER): Undefine and then
define unconditionally.
2004-03-15 23:03:07 +00:00
Mark Kettenis
63b6c53fc1
* i387-tdep.h (i387_collect_fsave): New prototype.
...
* i387-tdep.c (i387_collect_fsave): New function containing most
of the code from i387_fill_fsave.
(i387_fill_fsave): Call i387_fill_fsave.
2004-03-15 22:44:12 +00:00
Mark Kettenis
871fbe6a50
* i386-linux-tdep.c: Update copyright year.
...
(i386_linux_svr4_fetch_link_map_offsets): Remove function.
(i386_linux_init_abi): Set solib_svr4_fetch_link_maop_offsets to
svr4_ilp32_link_map_offsets instead of
i386_linux_svr4_fetch_link_map_offsets.
2004-03-15 22:38:21 +00:00
David Carlton
8176b9b8a3
2004-03-15 David Carlton <carlton@kealia.com>
...
Fix for PR c++/1553:
* dwarf2read.c (read_structure_type): Determine type name by
calling determine_class_name.
(determine_class_name): New.
(determine_prefix): Look at TYPE_TAG_NAME and call
determine_class_name when appropriate.
(determine_prefix_aux, class_name): Delete.
2004-03-15 22:33:52 +00:00
Kevin Buettner
fe8bf7d723
* breakpoint.c (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete
...
unused macro definition. The definition in target.h (or perhaps
elsewhere) takes precedence.
2004-03-15 21:58:31 +00:00
Andrew Cagney
f9be684a36
2004-03-15 Andrew Cagney <cagney@redhat.com>
...
* ppc-tdep.h: Update copyright.
(ppc_linux_supply_gregset, ppc_linux_supply_fpregset): Change
function signatures to match "regsets.h".
* ppc-linux-tdep.c: Include "regset.h".
(ELF_GREGSET_SIZE): Delete.
(right_supply_register): New function.
(ppc_linux_supply_fpregset, ppc_linux_supply_gregset): Rewrite
using right_supply_register.
(ppc32_linux_supply_gregset, ppc64_linux_supply_gregset): New
functions.
(ppc64_linux_gregset, ppc32_linux_gregset): Define.
(ppc_linux_init_abi): Register ppc_linux_regset_from_core_section.
(_initialize_ppc_linux_tdep): Do not register
ppc_linux_regset_core_fns.
(ppc_linux_regset_from_core_section): Replace
fetch_core_registers.
(ppc_linux_regset_core_fns): Delete.
* ppc-linux-nat.c: (right_fill_reg): New function.
(supply_gregset): Update call to ppc_linux_supply_gregset.
(fill_gregset): Clear the register set, use right_fill_reg.
(supply_fpregset): Update call to ppc_linux_supply_fpregset.
(fill_fpregset): Use right_fill_reg, correctly compute FP offsets.
Index: ppc-linux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-nat.c,v
retrieving revision 1.28
diff -u -r1.28 ppc-linux-nat.c
--- ppc-linux-nat.c 8 Mar 2004 01:45:02 -0000 1.28
+++ ppc-linux-nat.c 15 Mar 2004 21:28:31 -0000
@@ -507,7 +507,24 @@
void
supply_gregset (gdb_gregset_t *gregsetp)
{
- ppc_linux_supply_gregset ((char *) gregsetp);
+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+ interface, and not the wordsize of the program's ABI. */
+ int wordsize = sizeof (PTRACE_XFER_TYPE);
+ ppc_linux_supply_gregset (current_regcache, -1, gregsetp,
+ sizeof (gdb_gregset_t), wordsize);
+}
+
+static void
+right_fill_reg (int regnum, void *reg)
+{
+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+ interface, and not the wordsize of the program's ABI. */
+ int wordsize = sizeof (PTRACE_XFER_TYPE);
+ /* Right fill the register. */
+ regcache_raw_collect (current_regcache, regnum,
+ ((bfd_byte *) reg
+ + wordsize
+ - register_size (current_gdbarch, regnum)));
}
void
@@ -516,36 +533,42 @@
int regi;
elf_greg_t *regp = (elf_greg_t *) gregsetp;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ const int elf_ngreg = 48;
+
+
+ /* Start with zeros. */
+ memset (regp, 0, elf_ngreg * sizeof (*regp));
for (regi = 0; regi < 32; regi++)
{
if ((regno == -1) || regno == regi)
- regcache_collect (regi, regp + PT_R0 + regi);
+ right_fill_reg (regi, (regp + PT_R0 + regi));
}
if ((regno == -1) || regno == PC_REGNUM)
- regcache_collect (PC_REGNUM, regp + PT_NIP);
+ right_fill_reg (PC_REGNUM, regp + PT_NIP);
if ((regno == -1) || regno == tdep->ppc_lr_regnum)
- regcache_collect (tdep->ppc_lr_regnum, regp + PT_LNK);
+ right_fill_reg (tdep->ppc_lr_regnum, regp + PT_LNK);
if ((regno == -1) || regno == tdep->ppc_cr_regnum)
regcache_collect (tdep->ppc_cr_regnum, regp + PT_CCR);
if ((regno == -1) || regno == tdep->ppc_xer_regnum)
regcache_collect (tdep->ppc_xer_regnum, regp + PT_XER);
if ((regno == -1) || regno == tdep->ppc_ctr_regnum)
- regcache_collect (tdep->ppc_ctr_regnum, regp + PT_CTR);
+ right_fill_reg (tdep->ppc_ctr_regnum, regp + PT_CTR);
#ifdef PT_MQ
if (((regno == -1) || regno == tdep->ppc_mq_regnum)
&& (tdep->ppc_mq_regnum != -1))
- regcache_collect (tdep->ppc_mq_regnum, regp + PT_MQ);
+ right_fill_reg (tdep->ppc_mq_regnum, regp + PT_MQ);
#endif
if ((regno == -1) || regno == tdep->ppc_ps_regnum)
- regcache_collect (tdep->ppc_ps_regnum, regp + PT_MSR);
+ right_fill_reg (tdep->ppc_ps_regnum, regp + PT_MSR);
}
void
supply_fpregset (gdb_fpregset_t * fpregsetp)
{
- ppc_linux_supply_fpregset ((char *) fpregsetp);
+ ppc_linux_supply_fpregset (NULL, current_regcache, -1, fpregsetp,
+ sizeof (gdb_fpregset_t));
}
/* Given a pointer to a floating point register set in /proc format
@@ -557,12 +580,13 @@
{
int regi;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ bfd_byte *fpp = (void *) fpregsetp;
for (regi = 0; regi < 32; regi++)
{
if ((regno == -1) || (regno == FP0_REGNUM + regi))
- regcache_collect (FP0_REGNUM + regi, (char *) (*fpregsetp + regi));
+ regcache_collect (FP0_REGNUM + regi, fpp + 8 * regi);
}
if ((regno == -1) || regno == tdep->ppc_fpscr_regnum)
- regcache_collect (tdep->ppc_fpscr_regnum, (char *) (*fpregsetp + regi));
+ right_fill_reg (tdep->ppc_fpscr_regnum, (fpp + 8 * 32));
}
Index: ppc-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v
retrieving revision 1.50
diff -u -r1.50 ppc-linux-tdep.c
--- ppc-linux-tdep.c 16 Feb 2004 21:49:22 -0000 1.50
+++ ppc-linux-tdep.c 15 Mar 2004 21:28:31 -0000
@@ -32,7 +32,7 @@
#include "regcache.h"
#include "value.h"
#include "osabi.h"
-
+#include "regset.h"
#include "solib-svr4.h"
#include "ppc-tdep.h"
@@ -959,81 +959,114 @@
};
enum {
- ELF_GREGSET_SIZE = (ELF_NGREG * 4),
ELF_FPREGSET_SIZE = (ELF_NFPREG * 8)
};
+static void
+right_supply_register (struct regcache *regcache, int wordsize, int regnum,
+ const bfd_byte *buf)
+{
+ regcache_raw_supply (regcache, regnum,
+ (buf + wordsize
+ - register_size (current_gdbarch, regnum)));
+}
+
+/* Extract the register values found in the WORDSIZED ABI GREGSET,
+ storing their values in REGCACHE. Note that some are left-aligned,
+ while others are right aligned. */
+
void
-ppc_linux_supply_gregset (char *buf)
+ppc_linux_supply_gregset (struct regcache *regcache,
+ int regnum, const void *gregs, size_t size,
+ int wordsize)
{
int regi;
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+ const bfd_byte *buf = gregs;
for (regi = 0; regi < 32; regi++)
- supply_register (regi, buf + 4 * regi);
+ right_supply_register (regcache, wordsize, regi, buf + wordsize * regi);
+
+ right_supply_register (regcache, wordsize, gdbarch_pc_regnum (regcache_arch),
+ buf + wordsize * PPC_LINUX_PT_NIP);
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_lr_regnum,
+ buf + wordsize * PPC_LINUX_PT_LNK);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_cr_regnum,
+ buf + wordsize * PPC_LINUX_PT_CCR);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_xer_regnum,
+ buf + wordsize * PPC_LINUX_PT_XER);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_ctr_regnum,
+ buf + wordsize * PPC_LINUX_PT_CTR);
+ if (regcache_tdep->ppc_mq_regnum != -1)
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_mq_regnum,
+ buf + wordsize * PPC_LINUX_PT_MQ);
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_ps_regnum,
+ buf + wordsize * PPC_LINUX_PT_MSR);
+}
- supply_register (PC_REGNUM, buf + 4 * PPC_LINUX_PT_NIP);
- supply_register (tdep->ppc_lr_regnum, buf + 4 * PPC_LINUX_PT_LNK);
- supply_register (tdep->ppc_cr_regnum, buf + 4 * PPC_LINUX_PT_CCR);
- supply_register (tdep->ppc_xer_regnum, buf + 4 * PPC_LINUX_PT_XER);
- supply_register (tdep->ppc_ctr_regnum, buf + 4 * PPC_LINUX_PT_CTR);
- if (tdep->ppc_mq_regnum != -1)
- supply_register (tdep->ppc_mq_regnum, buf + 4 * PPC_LINUX_PT_MQ);
- supply_register (tdep->ppc_ps_regnum, buf + 4 * PPC_LINUX_PT_MSR);
+static void
+ppc32_linux_supply_gregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t size)
+{
+ ppc_linux_supply_gregset (regcache, regnum, gregs, size, 4);
}
+static struct regset ppc32_linux_gregset = {
+ NULL, ppc32_linux_supply_gregset
+};
+
+static void
+ppc64_linux_supply_gregset (const struct regset *regset,
+ struct regcache * regcache,
+ int regnum, const void *gregs, size_t size)
+{
+ ppc_linux_supply_gregset (regcache, regnum, gregs, size, 8);
+}
+
+static struct regset ppc64_linux_gregset = {
+ NULL, ppc64_linux_supply_gregset
+};
+
void
-ppc_linux_supply_fpregset (char *buf)
+ppc_linux_supply_fpregset (const struct regset *regset,
+ struct regcache * regcache,
+ int regnum, const void *fpset, size_t size)
{
int regi;
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+ const bfd_byte *buf = fpset;
for (regi = 0; regi < 32; regi++)
- supply_register (FP0_REGNUM + regi, buf + 8 * regi);
+ regcache_raw_supply (regcache, FP0_REGNUM + regi, buf + 8 * regi);
/* The FPSCR is stored in the low order word of the last doubleword in the
fpregset. */
- supply_register (tdep->ppc_fpscr_regnum, buf + 8 * 32 + 4);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_fpscr_regnum,
+ buf + 8 * 32 + 4);
}
-/*
- Use a local version of this function to get the correct types for regsets.
-*/
+static struct regset ppc_linux_fpregset = { NULL, ppc_linux_supply_fpregset };
-static void
-fetch_core_registers (char *core_reg_sect,
- unsigned core_reg_size,
- int which,
- CORE_ADDR reg_addr)
+static const struct regset *
+ppc_linux_regset_from_core_section (struct gdbarch *core_arch,
+ const char *sect_name, size_t sect_size)
{
- if (which == 0)
+ struct gdbarch_tdep *tdep = gdbarch_tdep (core_arch);
+ if (strcmp (sect_name, ".reg") == 0)
{
- if (core_reg_size == ELF_GREGSET_SIZE)
- ppc_linux_supply_gregset (core_reg_sect);
+ if (tdep->wordsize == 4)
+ return &ppc32_linux_gregset;
else
- warning ("wrong size gregset struct in core file");
- }
- else if (which == 2)
- {
- if (core_reg_size == ELF_FPREGSET_SIZE)
- ppc_linux_supply_fpregset (core_reg_sect);
- else
- warning ("wrong size fpregset struct in core file");
+ return &ppc64_linux_gregset;
}
+ if (strcmp (sect_name, ".reg2") == 0)
+ return &ppc_linux_fpregset;
+ return NULL;
}
-/* Register that we are able to handle ELF file formats using standard
- procfs "regset" structures. */
-
-static struct core_fns ppc_linux_regset_core_fns =
-{
- bfd_target_elf_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL /* next */
-};
-
static void
ppc_linux_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
@@ -1086,6 +1119,7 @@
/* PPC64 malloc's entry-point is called ".malloc". */
set_gdbarch_name_of_malloc (gdbarch, ".malloc");
}
+ set_gdbarch_regset_from_core_section (gdbarch, ppc_linux_regset_from_core_section);
}
void
@@ -1099,5 +1133,4 @@
ppc_linux_init_abi);
gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
ppc_linux_init_abi);
- add_core_fns (&ppc_linux_regset_core_fns);
}
Index: ppc-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/ppc-tdep.h,v
retrieving revision 1.25
diff -u -r1.25 ppc-tdep.h
--- ppc-tdep.h 10 Nov 2003 22:47:28 -0000 1.25
+++ ppc-tdep.h 15 Mar 2004 21:28:31 -0000
@@ -1,6 +1,7 @@
/* Target-dependent code for GDB, the GNU debugger.
- Copyright 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation,
+ Inc.
This file is part of GDB.
@@ -62,8 +63,12 @@
CORE_ADDR bpaddr);
int ppc_linux_memory_remove_breakpoint (CORE_ADDR addr, char *contents_cache);
struct link_map_offsets *ppc_linux_svr4_fetch_link_map_offsets (void);
-void ppc_linux_supply_gregset (char *buf);
-void ppc_linux_supply_fpregset (char *buf);
+void ppc_linux_supply_gregset (struct regcache *regcache,
+ int regnum, const void *gregs, size_t size,
+ int wordsize);
+void ppc_linux_supply_fpregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t size);
enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch,
struct type *valtype,
2004-03-15 21:35:25 +00:00
Andrew Cagney
ed6edd9bf2
2004-03-15 Andrew Cagney <cagney@redhat.com>
...
* rs6000-tdep.c (rs6000_register_virtual_type): Make registers
unsigned.
2004-03-15 21:21:01 +00:00
Andrew Cagney
030f20e19e
2004-03-15 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (gdbarch_data_pre_init_fytpe)
(gdbarch_data_register_pre_init, gdbarch_data_post_init_fytpe)
(gdbarch_data_register_post_init): Replace gdbarch_data_init_ftype
and register_gdbarch_data.
(deprecated_set_gdbarch_data): Rename set_gdbarch_data.
(struct gdbarch_data): Replace "init" by "pre_init" and
"post_init".
* gdbarch.h, gdbarch.c: Re-generate.
* dwarf2-frame.c (dwarf2_frame_init): Replace "gdbarch" paramter
with"obstack", use OBSTACK_ZALLOC.
(dwarf2_frame_ops): Delete.
(dwarf2_frame_set_init_reg): Use gdbarch_data.
(dwarf2_frame_init_reg): Use gdbarch_data.
(_initialize_dwarf2_frame): Use gdbarch_data_register_pre_init.
* solib-svr4.c (set_solib_svr4_fetch_link_map_offsets)
(_initialize_svr4_solib): Update.
* user-regs.c (_initialize_user_regs): Update.
* reggroups.c (_initialize_reggroup): Update.
* regcache.c (_initialize_regcache): Update.
* mips-linux-tdep.c (_initialize_mips_linux_tdep): Update.
* libunwind-frame.c (_initialize_libunwind_frame): Update.
* gnu-v3-abi.c (init_gnuv3_ops): Update.
* frame-unwind.c (_initialize_frame_unwind): Update.
* frame-base.c (_initialize_frame_base): Update.
* user-regs.c (user_reg_add): Update.
* reggroups.c (reggroup_add): Update.
* mips-linux-tdep.c (set_mips_linux_register_addr): Update.
* libunwind-frame.c (libunwind_frame_set_descr): Update.
* frame-unwind.c (frame_unwind_append_sniffer): Update.
* frame-base.c (frame_base_table): Update.
* remote.c (_initialize_remote): Update.
* gdb_obstack.h (OBSTACK_ZALLOC, OBSTACK_CALLOC): Define.
2004-03-15 20:38:08 +00:00
Andrew Cagney
3111a3fcb7
2004-03-15 Andrew Cagney <cagney@redhat.com>
...
* cris-tdep.c (bfd_lookup_symbol): Delete unused function.
2004-03-15 20:32:54 +00:00
Kevin Buettner
5ecb7103b5
* Makefile.in (frv-linux-tdep.o): Add dependencies.
...
* frv-linux-tdep.c: New file.
* frv-tdep.c (struct gdbarch_tdep): Add new field
``sigcontext_reg_addr''.
(frv_set_sigcontext_reg_addr, frv_sigtramp,frame_cache)
(frv_sigtramp_frame_this_id, frv_sigtramp_frame_prev_register)
(frv_sigramp_frame_sniffer): New functions.
(frv_sigtramp_frame_unwind): New static global.
(frv_gdbarch_init): Hook in ABI-specific overrides. Hook up frame
sniffers.
* frv-tdep.h (frv_set_sigcontext_reg_addr): New function.
* config/frv/frv.mt (TDEPFILES): Add frv-linux-tdep.o.
2004-03-15 19:42:25 +00:00
Kevin Buettner
1ccda5e956
* frv-tdep.c (frv_analyze_prologue): Terminate prologue scan,
...
but not via a call to error(), when unable to read memory.
2004-03-15 18:49:02 +00:00
Kevin Buettner
b375a0a5da
* frv-tdep.c (frv_call_dummy_words): Delete.
...
(frv_frame_unwind_cache): Delete unused variable, ``prev_sp''.
2004-03-15 18:31:37 +00:00
Andrew Cagney
4fdf61212c
Index: ChangeLog
...
2004-03-15 Andrew Cagney <cagney@redhat.com>
* infrun.c (handle_step_into_function, step_over_function): Only
update and use STEP_FRAME_ID when the system is using legacy
frames. Update comments.
2004-03-15 17:12:50 +00:00
Mark Kettenis
187e21d161
* amd64-linux-tdep.h: Remove file.
...
* amd64-linux-tdep.c: Don't include "inferior.h" and
"amd64-linux-tdep.h". Include "frame.h" and "solib-svr4.h".
(USER_R15, USER_R14, USER_R13, USER_R12, USER_RBP, USER_RBX)
(USER_R11, USER_R10, USER_R9, USER_R8, USER_RAX, USER_RCX)
(USER_RDX, USER_RSI, USER_RDI, USER_RIP, USER_CS, USER_EFLAGS)
(USER_RSP, USER_SS, USER_DS, USER_ES, USER_FS, USER_GS): Remove
macros.
(user_to_gdb_regmap): Remove variable.
(amd64_linux_gregset_reg_offset): New variable.
(amd64_core_fns): Remove variable.
(fetch_core_registers): Remove function.
(amd64_linux_supply_gregset, amd64_linux_fill_gregset): Remove
functions.
(_initialize_amd64_linux_tdep): Don't set add_core_fns.
* amd64-linux-nat.c: Don't include "amd64-linux-tdep.h".
* Makefile.in (amd64_linux_tdep_h): Remove.
(amd64-linux-nat.o): Update dependencies.
(amd64-linux-tdep.o): Update dependencies.
2004-03-14 22:39:26 +00:00
Mark Kettenis
99679982ac
* amd64-linux-nat.c (GETFPREGS_SUPPLIES): Remove macro.
...
(fetch_regs, fetch_fpregs, store_regs, store_fpregs): Remove
functions.
(fetch_inferior_registers, store_inferior_registers): Rewrite.
2004-03-14 22:11:25 +00:00
Mark Kettenis
34021503e6
* amd64-tdep.h (amd64_fill_fxsave): Remove prototype.
...
* amd64-tdep.c (amd64_fill_fxsave): Remove function.
2004-03-14 21:38:55 +00:00
Daniel Jacobowitz
134d01f12d
* dwarf2read.c (read_structure_type): Rename from
...
read_structure_scope. Don't create a symbol or call process_die.
Return immediately if die->type is set. Call read_type_die before
dwarf2_add_member_fn.
(process_structure_scope): New function.
(read_enumeration_type, process_enumeration_scope): New functions,
broken out from read_enumeration. Don't create the enumeration
type if it has already been created.
(read_enumeration): Removed.
(process_die): Call read_structure_type, process_structure_scope,
read_enumeration_type, and process_enumeration_scope. Just call
new_symbol for base and subrange types. Add a comment about other
type dies.
(read_type_die): Call read_enumeration_type.
(add_partial_structure, new_symbol): Update comments.
2004-03-14 21:08:24 +00:00
Stephane Carrez
65760afbc0
* m68hc11-tdep.c (m68hc11_register_name): Get soft reg information.
2004-03-13 14:51:55 +00:00
Stephane Carrez
10f5941595
* tui/tui-win.h (tui_get_cmd_list): Declare.
...
* tui/tui-win.c (tui_command): New function.
(tui_get_cmd_list): New function.
(_initialize_tui_win): Moved initialization of tui command in
tui_get_cmd_list.
* tui/tui-data.c (init_content_element): Setup new data members.
(init_win_info): Likewise.
(free_content_elements): Free it.
* tui/tui-data.h (struct tui_data_element): Store the register
content to print.
(struct tui_data_info): Keep the current register group.
* tui/tui-layout.c (tui_set_layout): Update call to tui_show_registers.
* tui/tui-regs.h (tui_show_registers): Update prototype.
(tui_toggle_float_regs, tui_calculate_regs_column_count): Remove.
(tui_resize_all): No need to calculate anything for register window.
* tui/tui-regs.c (tui_calculate_regs_column_count): Remove.
(tui_set_register_element, tui_set_general_regs_content): Remove.
(tui_set_special_regs_content): Remove.
(tui_set_general_and_special_regs_content): Remove.
(tui_set_float_regs_content): Remove.
(tui_reg_value_has_changed, tui_get_register_raw_value): Remove.
(tui_set_regs_content): Remove.
(tui_toggle_float_regs, _tui_toggle_float_regs_command): Remove.
(tui_v_show_registers_command_support): Remove.
(tui_show_registers): Use a reggroup to specify the registers to show.
(tui_show_register_group): New function.
(tui_display_registers_from): Compute the layout of register window
and refresh with new API; be sure to delete old register windows.
(tui_check_register_values): Update to use tui_get_register and
tui_display_data.
(tui_display_register): Just refresh the register window part.
(tui_register_format): Format registers and save in tui_data_element.
(tui_get_register): New to combine tui_reg_value_has_changed and
tui_get_register_raw_value; fix to use the new gdb API.
(tui_show_float_command): Renamed tui_reg_float_command.
(tui_show_general_command): Renamed tui_reg_general_command.
(tui_show_special_command): Renamed tui_reg_system_command.
(_initialize_tui_regs): Remove unused commands.
2004-03-13 14:14:01 +00:00
Mark Kettenis
27d1e71648
* NEWS (New native configurations): Mention OpenBSD/amd64.
2004-03-13 13:11:53 +00:00
Mark Kettenis
c3364ea481
* config/i386/nm-fbsd.h: Include "config/nm-bsd.h".
...
(PTRACE_ARG3_TYPE, FETCH_INFERIOR_REGISTERS, ATTACH_DETACH):
Remove defines.
* config/i386/nm-fbsd64.h: Likewise.
* config/i386/nm-obsd.h: Likewise.
* config/sparc/nm-fbsd.h: Likewise. Update copyright year.
* config/alpha/nm-fbsd.h: Likewise. Update copyright year.
2004-03-13 13:07:20 +00:00
Kevin Buettner
76e4319948
Revise ChangeLog entry of previous commit to credit Richard Sandiford
...
for FR450 support.
2004-03-13 01:27:20 +00:00
Kevin Buettner
b2d6d697ea
Add FR450 support.
2004-03-13 01:24:20 +00:00
Kevin Buettner
34ce532e64
* frv-tdep.c, frv-tdep.h (first_gpr_regnum, sp_regnum, fp_regnum)
...
(struct_return_regnum, last_gpr_regnum, first_fpr_regnum)
(last_fpr_regnum, pc_regnum, first_spr_regnum, psr_regnum, ccr_regnum)
(cccr_regnum, fdpic_loadmap_exec_regnum, fdpic_loadmap_interp_regnum)
(tbr_regnum, brr_regnum, dbar0_regnum, dbar1_regnum, dbar2_regnum)
(dbar3_regnum, lr_regnum, lcr_regnum, iacc0h_regnum, iacc0l_regnum)
(last_spr_regnum, frv_num_regs, first_pseudo_regnum, iacc0_regnum)
(last_pseudo_regnum, frv_num_pseudo_regs): Move constant (enum)
definitions from frv-tdep.c to frv-tdep.h.
2004-03-13 01:13:04 +00:00
Kevin Buettner
c4d1051556
Add shared library support for FR-V FDPIC ABI.
2004-03-13 00:50:53 +00:00
Kevin Buettner
ed1bd989f7
Fix typo in Makefile.in; commit ChangeLog entries for previous change.
2004-03-13 00:36:53 +00:00
Mark Kettenis
82b38f72ae
* solib-svr4.h: Change SOLIB_SVR4 wrapper into SOLIB_SVR4_H
...
wrapper.
2004-03-12 22:01:39 +00:00
Andrew Cagney
db1ea9ba51
2004-03-11 Andrew Cagney <cagney@redhat.com>
...
* solib-svr4.h: Add #ifndef SOLIB_SVR4 wrapper.
2004-03-11 23:51:58 +00:00
Kevin Buettner
f8766ec100
* solist.h (master_so_list): New function.
...
* solib.c (master_so_list): Likewise.
* solib-svr4.c (enable_break): Iterate over so_list entries
obtained from master list instead of entries obtained directly
via svr4_current_sos().
2004-03-11 17:04:40 +00:00
Ben Elliston
523f6a2717
* MAINTAINERS: Update my mail address.
2004-03-10 02:58:24 +00:00
Kazuhiro Inaoka
37814c1874
2004-03-10 Kei Sakamoto <sakamoto.kei@renesas.com>
...
* remote-m32r-sdi.c: Support hardware watchpoint.
2004-03-10 00:18:44 +00:00
Daniel Jacobowitz
8b9740d8c9
* user-regs.c: Update copyright years.
...
(struct user_regs): Rename to gdb_user_regs.
(append_user_reg, builtin_user_regs, user_regs_init)
(user_reg_add, user_reg_map_name_to_regnum)
(usernum_to_user_reg): Update.
2004-03-09 20:03:37 +00:00
Daniel Jacobowitz
4bb7a0a769
* dwarf2read.c (skip_leb128, peek_die_abbrev, skip_one_die)
...
(skip_children): New functions.
(locate_pdi_sibling): Call skip_children.
2004-03-09 19:38:11 +00:00
Daniel Jacobowitz
44e1a9eb25
* arm-tdep.c (arm_use_struct_convention): Look through typedefs.
...
* gdbtypes.c (check_typedef): Update comments.
2004-03-09 17:08:25 +00:00
Daniel Jacobowitz
f3dd693351
* dwarf2read.c (struct comp_unit_head): Remove dwarf2_abbrevs array.
...
(struct dwarf2_cu): Add abbrev_obstack and dwarf2_abbrevs
pointer. Update comment about comp_unit_head.
(struct abbrev_info): Shorten two int flags.
(dwarf_alloc_abbrev): Take a CU argument.
(dwarf2_build_psymtabs_hard): Call dwarf2_free_abbrev_table
each time through the loop. Update cleanup argument.
(psymtab_to_symtab_1): Update cleanup call.
(dwarf2_read_abbrevs, dwarf2_alloc_abbrev): Allocate on the
abbrev_obstack.
(dwarf2_free_abbrev_table): Renamed from dwarf2_empty_abbrev_table.
Just call obstack_free and clear the pointer.
2004-03-09 16:57:44 +00:00
Daniel Jacobowitz
b40c7d58b1
* infrun.c (handle_inferior_event): Remove short-circuit code for
...
events in a different thread.
2004-03-09 16:40:08 +00:00
Daniel Jacobowitz
333dabeb90
* target.c (debug_to_xfer_memory): If targetdebug is 1, don't
...
print the whole transfer.
(initialize_targets): Update description of "set debug target".
2004-03-09 16:16:52 +00:00
Daniel Jacobowitz
aa17d93ef5
* arm-tdep.c (thumb_get_next_pc): Handle Thumb BLX.
2004-03-09 15:44:26 +00:00
Nathan J. Williams
0b71f08f41
2004-03-08 Nathan J. Williams <nathanw@wasabisystems.com>
...
* MAINTAINERS (write after approval): Add myself.
2004-03-08 17:52:27 +00:00
Corinna Vinschen
3930f270e6
* sh-tdep.c (sh_print_registers_info): Use for loop.
...
Don't skip multiple registers when a float register is encountered.
2004-03-08 10:18:13 +00:00
Corinna Vinschen
a2b4a96c10
Fix PR tdep/1291.
...
* sh-tdep.c (sh_analyze_prologue): Align PC relative addressing
to official SH documentation.
2004-03-08 10:15:33 +00:00
Andrew Cagney
f15a4bc0e0
2004-03-07 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-nat.c (ppc_ptrace_cannot_fetch_store_register): Delete
unused function.
2004-03-08 01:45:02 +00:00
Daniel Jacobowitz
9498281f9a
* arm-tdep.c (thumb_get_next_pc): Handle BX.
...
(arm_get_next_pc): Handle BX and BLX.
2004-03-07 20:03:12 +00:00
Andrew Cagney
eded0a3148
2004-03-07 Andrew Cagney <cagney@redhat.com>
...
* 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.
2004-03-07 19:58:27 +00:00
Andrew Cagney
f5f907e2a9
2004-03-07 Andrew Cagney <cagney@redhat.com>
...
* hppa-tdep.c (hppa_gdbarch_init): Add missing "break".
2004-03-07 19:21:13 +00:00
Andrew Cagney
69b4bbe450
2004-03-07 Andrew Cagney <cagney@redhat.com>
...
* hppa-tdep.c (pa_do_registers_info, pa_do_strcat_registers_info)
(pa_print_registers, pa_print_fp_reg, pa_strcat_registers)
(pa_strcat_fp_reg, pa_register_look_aside): Delete.
* config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO)
(pa_do_registers_info): Delete.
2004-03-07 19:00:43 +00:00
Andrew Cagney
210197d29b
Oops, fix tipo.
2004-03-07 18:09:23 +00:00
Andrew Cagney
78161e4820
2004-03-07 Andrew Cagney <cagney@redhat.com>
...
* infcall.c (legacy_push_dummy_code): Delete #ifdef
GDB_TARGET_IS_HPPA code.
* config/pa/tm-hppa.h (DEPRECATED_FIX_CALL_DUMMY)
(hppa_fix_call_dummy, DEPRECATED_CALL_DUMMY_HAS_COMPLETED)
(DEPRECATED_DUMMY_WRITE_SP, CALL_DUMMY): Delete.
* config/pa/tm-hppa64.h (CALL_DUMMY): Delete.
* hppa-tdep.c (hppa_frame_chain, hppa_frame_chain_valid)
(hppa_push_dummy_frame, hppa_pop_frame, hppa_push_arguments)
(hppa_fix_call_dummy, hppa64_stack_align, hppa_frame_saved_pc)
(hppa_init_extra_frame_info, hppa_saved_pc_after_call)
(hppa64_call_dummy_breakpoint_offset, hppa_frame_init_saved_regs)
(hppa_frameless_function_invocation, hppa64_store_return_value)
(hppa_store_struct_return, hppa64_extract_return_value)
(hppa64_use_struct_convention, hppa_frame_find_saved_regs)
(hppa32_call_dummy_length, hppa64_call_dummy_length)
(find_dummy_frame_regs, FUNC_LDIL_OFFSET, FUNC_LDO_OFFSET)
(find_proc_framesize, deposit_21, restore_pc_queue)
(find_return_regnum, pc_in_interrupt_handler, deposit_14)
(rp_saved, pc_in_linker_stub):
2004-03-07 18:06:14 +00:00
Andrew Cagney
782eae8b54
2004-03-07 Andrew Cagney <cagney@redhat.com>
...
Unconditionally enable 64-bit frame and ABI code.
* hppa-tdep.c (hppa_gdbarch_init): Do not set deprecated
call_dummy_breakpoint_offset, call_dummy_length, stack_align,
push_dummy_frame, fix_call_dummy, push_arguments,
call_dummy_location, extract_return_value, use_struct_convention,
store_return_value, store_struct_return, saved_pc_after_call,
init_frame_pc, frame_init_saved_regs, init_extra_frame_info,
frame_chain, frame_chain_valid, frameless_function_invocation,
frame_saved_pc, and pop_frame.
2004-03-07 17:19:26 +00:00
Andrew Cagney
449e113712
2004-03-07 Andrew Cagney <cagney@redhat.com>
...
* 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.
2004-03-07 17:06:21 +00:00