aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2004-03-222004-03-22 Andrew Cagney <cagney@redhat.com>Andrew Cagney8-49/+35
* frame.h (deprecated_pc_in_call_dummy): Rename generic_pc_in_call_dummy. * dummy-frame.h (pc_in_dummy_frame): Delete declaration. * dummy-frame.c (deprecated_pc_in_call_dummy): Rename generic_pc_in_call_dummy. (pc_in_dummy_frame): Make static. * gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Update. * gdbarch.h, gdbarch.c: Re-generate. * dummy-frame.c (dummy_frame_sniffer): Simplify. * frame.c (frame_type_from_pc): Call deprecated_pc_in_call_dummy. (legacy_get_prev_frame): Ditto. * inferior.h: Delete reference to generic_pc_in_call_dummy in comment.
2004-03-222004-03-22 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-24/+7
* gdb.base/watchpoint.exp (test_stepping): Delete bogus XFAILs hiding problems with DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET. Problem identified by Ulrich Weigand.
2004-03-222004-03-21 Andrew Cagney <cagney@redhat.com>Andrew Cagney4-18/+7
* inferior.h (deprecated_pc_in_call_dummy_at_entry_point): Delete declaration and out-of-date comment. * blockframe.c (deprecated_pc_in_call_dummy_at_entry_point): Delete function. * mn10300-tdep.c (mn10300_gdbarch_init): Do not set deprecated_pc_in_call_dummy.
2004-03-22*** empty log message ***gdbadmin1-1/+1
2004-03-212004-03-21 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-15/+18
* infrun.c (handle_inferior_event): For non legacy frames, use the frame ID and frame type to identify a signal trampoline. Update comments.
2004-03-212004-03-21 Nathan J. Williams <nathanw@wasabisystems.com>Nathan J. Williams3-2/+8
* mipsnbsd-tdep.c: Update copyright. Include "mips-tdep.h". * Makefile.in (mipsnbsd-tdep.o): Update dependencies.
2004-03-212004-03-21 Andrew Cagney <cagney@redhat.com>Andrew Cagney4-15/+77
* frame-unwind.h: Update copyright. (struct frame_data): Add opaque declaration. (frame_sniffer_ftype): Declare. (struct frame_unwind): Add "unwind_data" and "sniffer". (frame_unwind_register_unwinder): Declare. (frame_unwind_find_by_frame): Add parameter "this_cache". * frame.c (get_frame_id, create_new_frame, legacy_get_prev_frame) (legacy_get_prev_frame, legacy_get_prev_frame) (get_frame_type): Pass the prologue_cache to frame_unwind_find_by_frame. * frame-unwind.c (struct frame_unwind_table_entry): Add field "unwinder". (frame_unwind_register_unwinder): New function. (frame_unwind_find_by_frame): Handle an unwind sniffer.
2004-03-21*** empty log message ***gdbadmin1-1/+1
2004-03-20print_percentage: Use floating point to avoid incorrect results whenPaul N. Hilfinger2-1/+6
portion*100 overflows.
2004-03-20Remove old frame code. Enable new frame code for AIX.Kevin Buettner4-407/+29
2004-03-20Commit Andrew Cagney's rs6000 / PPC framification patch.Kevin Buettner3-14/+377
2004-03-20*** empty log message ***gdbadmin1-1/+1
2004-03-19 * breakpoint.c (adjust_breakpoint_address): Don't adjustKevin Buettner2-6/+29
breakpoint address for watchpoints or the catch eventpoints. Add new paramter ``bptype''. Adjust all callers.
2004-03-192004-03-19 Andrew Cagney <cagney@redhat.com>Andrew Cagney4-3/+7
* config/pa/tm-hppa.h (GDB_TARGET_IS_HPPA): Delete unused macro. Index: doc/ChangeLog 2004-03-19 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Delete reference to GDB_TARGET_IS_HPPA.
2004-03-192004-03-19 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-9/+5
* PROBLEMS: Delete note that ARM does not use frame code, problem fixed.
2004-03-19*** empty log message ***gdbadmin1-1/+1
2004-03-182004-03-18 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-12/+3
* stack.c (return_command): Delete code wrapped in #ifdef DEPRECATED_CALL_DUMMY_HAS_COMPLETED, macro no longer defined.
2004-03-182004-03-18 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-2/+23
* rs6000-tdep.c (skip_prologue): Record only the first LR save.
2004-03-182004-03-18 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-92/+67
* gdbint.texinfo (Coding): Update section on gdbarch_data, describe pre_init and post_init.
2004-03-182004-03-18 Andrew Cagney <cagney@redhat.com>Andrew Cagney12-17/+32
* config/mips/tm-nbsd.h: Replace IN_SIGTRAMP with DEPRECATED_IN_SIGTRAMP. * config/powerpc/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto. * config/mips/tm-linux.h (DEPRECATED_IN_SIGTRAMP) Ditto. * config/mips/tm-irix6.h (DEPRECATED_IN_SIGTRAMP): Ditto. * config/mips/tm-irix5.h (DEPRECATED_IN_SIGTRAMP): Ditto. * config/ia64/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto. * config/ia64/tm-aix.h (DEPRECATED_IN_SIGTRAMP): Ditto. * config/arm/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto. * config/arm/tm-embed.h (DEPRECATED_IN_SIGTRAMP): Ditto. * arch-utils.c (legacy_pc_in_sigtramp): Ditto. * arch-utils.h: Remove reference to IN_SIGTRAMP in comment.
2004-03-182004-03-18 Andrew Cagney <cagney@redhat.com>Andrew Cagney3-40/+41
* frame-base.c: Update copyright. Include "gdb_obstack.h". (struct frame_base_table_entry): Define. (struct frame_base_table): Re-implement as a linked list. (frame_base_init): Re-implement. (frame_base_table): Delete function. (append_predicate): Delete function. (frame_base_append_sniffer): Update. (frame_base_set_default): Update. (frame_base_find_by_frame): Update. (_initialize_frame_base): Use gdbarch_data_register_pre_init. * Makefile.in (frame-base.o): Update dependencies.
2004-03-18*** empty log message ***gdbadmin1-1/+1
2004-03-172004-03-17 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-1/+6
* frame.c (legacy_get_prev_frame): Pass correct frame to frame_unwind_find_by_frame.
2004-03-172004-03-17 David Carlton <carlton@kealia.com>David Carlton2-2/+7
* gdb.cp/classes.exp (test_enums): Refer to PR c++/1588 instead of PR c++/826.
2004-03-172004-03-17 David Carlton <carlton@kealia.com>David Carlton2-0/+16
* NEWS: Mention C++ nested types and namespaces
2004-03-172004-03-16 Michael Chastain <mec.gnu@mindspring.com>Michael Chastain2-5/+39
* PROBLEMS: Add section headers, "Regressions since gdb 6.0" and "Regressions since gdb 5.3.". Add known regressions since gdb 6.0.
2004-03-17Fix typo in ChangeLog entry.Mark Kettenis1-2/+2
2004-03-17*** empty log message ***gdbadmin1-1/+1
2004-03-162004-03-16 David Carlton <carlton@kealia.com>David Carlton2-17/+24
* dwarf2read.c (process_structure_scope): Process children even when we're a declaration.
2004-03-16.Roland McGrath1-161/+166
2004-03-162004-03-16 Roland McGrath <roland@redhat.com>Roland McGrath2-0/+245
* gdb.base/auxv.exp: New file. * gdb.base/auxv.c: New file, copied verbatim from coremaker2.c.
2004-03-162004-03-16 Andrew Cagney <cagney@redhat.com>Andrew Cagney3-31/+27
* symtab.h (find_pc_sect_partial_function): Delete declaration. * blockframe.c (find_pc_partial_function) (find_pc_sect_partial_function): Merge into a single find_pc_partial_function.
2004-03-16* i386bsd-nat.c: s/regno/regnum/g.Mark Kettenis2-35/+42
(fetch_inferior_registers): Use I386_ST0_REGNUM instead of FP0_REGNUM. (store_inferior_registers): Likewise.
2004-03-16* i386bsd-nat.c (fill_fpregset): Call i387_collect_fsave insteadMark Kettenis2-4/+12
of i387_fill_fsave. (store_inferior_registers): Call i387_collect_fsave and i387_collect_fxsave instead of i387_fill_fsave and i387_fill_fxsave.
2004-03-16*** empty log message ***gdbadmin1-1/+1
2004-03-152004-03-15 Andrew Cagney <cagney@redhat.com>Andrew Cagney3-30/+39
* Makefile.in (frame-unwind.o): Update dependencies. * frame-unwind.c: Include "gdb_obstack.h". (frame_unwind_init): Replace "gdbarch" parameter with an "obstack" parameter. (append_predicate): Delete function. (struct frame_unwind_table_entry): New structure. (struct frame_unwind_table): Replace "sniffer" with "head" and "tail". (frame_unwind_append_sniffer): Update. (frame_unwind_find_by_frame): Update. (_initialize_frame_unwind): Registe frame_unwind_init using gdbarch_data_register_pre_init.
2004-03-15* i386bsd-nat.c: Update copyright year.Mark Kettenis2-5/+10
(CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER): Undefine and then define unconditionally.
2004-03-15* i387-tdep.h (i387_collect_fsave): New prototype.Mark Kettenis3-5/+30
* 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* i386-linux-tdep.c: Update copyright year.Mark Kettenis2-46/+16
(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-152004-03-15 David Carlton <carlton@kealia.com>David Carlton2-131/+107
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 * breakpoint.c (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): DeleteKevin Buettner2-5/+6
unused macro definition. The definition in target.h (or perhaps elsewhere) takes precedence.
2004-03-152004-03-15 Andrew Cagney <cagney@redhat.com>Andrew Cagney4-64/+149
* 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-152004-03-15 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-2/+7
* rs6000-tdep.c (rs6000_register_virtual_type): Make registers unsigned.
2004-03-152004-03-15 Andrew Cagney <cagney@redhat.com>Andrew Cagney16-94/+177
* 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-152004-03-15 Andrew Cagney <cagney@redhat.com>Andrew Cagney2-38/+4
* cris-tdep.c (bfd_lookup_symbol): Delete unused function.
2004-03-15 * Makefile.in (frv-linux-tdep.o): Add dependencies.Kevin Buettner6-2/+416
* 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 * frv-tdep.c (frv_analyze_prologue): Terminate prologue scan,Kevin Buettner2-1/+12
but not via a call to error(), when unable to read memory.
2004-03-15 * frv-tdep.c (frv_call_dummy_words): Delete.Kevin Buettner2-5/+5
(frv_frame_unwind_cache): Delete unused variable, ``prev_sp''.
2004-03-15Index: ChangeLogAndrew Cagney2-30/+56
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*** empty log message ***gdbadmin1-1/+1