diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-03-15 17:12:24 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-03-15 17:12:24 +0000 |
commit | 9f62d0e2125fa78dee913398b568b1345053fe6c (patch) | |
tree | 2511d0e9a7f3c64b43e444533fac9fc3bff12ee8 /gdb/mips-linux-tdep.c | |
parent | 26c53e508c3991ad163ac1eb181ff8cbe86fd921 (diff) | |
download | gdb-9f62d0e2125fa78dee913398b568b1345053fe6c.zip gdb-9f62d0e2125fa78dee913398b568b1345053fe6c.tar.gz gdb-9f62d0e2125fa78dee913398b568b1345053fe6c.tar.bz2 |
* mips-linux-tdep.c (mips_supply_gregset): Renamed from supply_gregset.
(mips_fill_gregset): Renamed from fill_gregset.
(mips_supply_fpregset): Renamed from supply_fpregset.
(mips_fill_fpregset): Renamed from fill_fpregset.
(fetch_core_registers): Update calls.
(supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): New
functions.
Diffstat (limited to 'gdb/mips-linux-tdep.c')
-rw-r--r-- | gdb/mips-linux-tdep.c | 83 |
1 files changed, 63 insertions, 20 deletions
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c index f2a941c..1aaeeb6 100644 --- a/gdb/mips-linux-tdep.c +++ b/gdb/mips-linux-tdep.c @@ -107,8 +107,8 @@ supply_32bit_reg (int regnum, const void *addr) /* Unpack an elf_gregset_t into GDB's register cache. */ -void -supply_gregset (elf_gregset_t *gregsetp) +static void +mips_supply_gregset (elf_gregset_t *gregsetp) { int regi; elf_greg_t *regp = *gregsetp; @@ -142,8 +142,8 @@ supply_gregset (elf_gregset_t *gregsetp) /* Pack our registers (or one register) into an elf_gregset_t. */ -void -fill_gregset (elf_gregset_t *gregsetp, int regno) +static void +mips_fill_gregset (elf_gregset_t *gregsetp, int regno) { int regaddr, regi; elf_greg_t *regp = *gregsetp; @@ -153,13 +153,13 @@ fill_gregset (elf_gregset_t *gregsetp, int regno) { memset (regp, 0, sizeof (elf_gregset_t)); for (regi = 0; regi < 32; regi++) - fill_gregset (gregsetp, regi); - fill_gregset (gregsetp, mips_regnum (current_gdbarch)->lo); - fill_gregset (gregsetp, mips_regnum (current_gdbarch)->hi); - fill_gregset (gregsetp, mips_regnum (current_gdbarch)->pc); - fill_gregset (gregsetp, mips_regnum (current_gdbarch)->badvaddr); - fill_gregset (gregsetp, MIPS_PS_REGNUM); - fill_gregset (gregsetp, mips_regnum (current_gdbarch)->cause); + mips_fill_gregset (gregsetp, regi); + mips_fill_gregset (gregsetp, mips_regnum (current_gdbarch)->lo); + mips_fill_gregset (gregsetp, mips_regnum (current_gdbarch)->hi); + mips_fill_gregset (gregsetp, mips_regnum (current_gdbarch)->pc); + mips_fill_gregset (gregsetp, mips_regnum (current_gdbarch)->badvaddr); + mips_fill_gregset (gregsetp, MIPS_PS_REGNUM); + mips_fill_gregset (gregsetp, mips_regnum (current_gdbarch)->cause); return; } @@ -195,8 +195,8 @@ fill_gregset (elf_gregset_t *gregsetp, int regno) /* Likewise, unpack an elf_fpregset_t. */ -void -supply_fpregset (elf_fpregset_t *fpregsetp) +static void +mips_supply_fpregset (elf_fpregset_t *fpregsetp) { int regi; char zerobuf[MAX_REGISTER_SIZE]; @@ -220,8 +220,8 @@ supply_fpregset (elf_fpregset_t *fpregsetp) /* Likewise, pack one or all floating point registers into an elf_fpregset_t. */ -void -fill_fpregset (elf_fpregset_t *fpregsetp, int regno) +static void +mips_fill_fpregset (elf_fpregset_t *fpregsetp, int regno) { char *from, *to; @@ -240,9 +240,9 @@ fill_fpregset (elf_fpregset_t *fpregsetp, int regno) int regi; for (regi = 0; regi < 32; regi++) - fill_fpregset (fpregsetp, FP0_REGNUM + regi); - fill_fpregset (fpregsetp, - mips_regnum (current_gdbarch)->fp_control_status); + mips_fill_fpregset (fpregsetp, FP0_REGNUM + regi); + mips_fill_fpregset (fpregsetp, + mips_regnum (current_gdbarch)->fp_control_status); } } @@ -547,7 +547,7 @@ fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, if (core_reg_size == sizeof (gregset)) { memcpy ((char *) &gregset, core_reg_sect, sizeof (gregset)); - supply_gregset (&gregset); + mips_supply_gregset (&gregset); } else if (core_reg_size == sizeof (gregset64)) { @@ -564,7 +564,7 @@ fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, if (core_reg_size == sizeof (fpregset)) { memcpy ((char *) &fpregset, core_reg_sect, sizeof (fpregset)); - supply_fpregset (&fpregset); + mips_supply_fpregset (&fpregset); } else if (core_reg_size == sizeof (fpregset64)) { @@ -1085,6 +1085,49 @@ mips_linux_n32n64_sigframe_init (const struct tramp_frame *self, func)); } +/* Wrapper functions. These are only used by libthread_db. */ + +void +supply_gregset (elf_gregset_t *gregsetp) +{ + if (mips_isa_regsize (current_gdbarch) == 4) + mips_supply_gregset (gregsetp); + else + mips64_supply_gregset ((void *) gregsetp); +} + +void +fill_gregset (elf_gregset_t *gregsetp, int regno) +{ + if (mips_isa_regsize (current_gdbarch) == 4) + mips_fill_gregset (gregsetp, regno); + else + mips64_fill_gregset ((void *) gregsetp, regno); +} + +/* Likewise, unpack an elf_fpregset_t. */ + +void +supply_fpregset (elf_fpregset_t *fpregsetp) +{ + if (mips_isa_regsize (current_gdbarch) == 4) + mips_supply_fpregset (fpregsetp); + else + mips64_supply_fpregset ((void *) fpregsetp); +} + +/* Likewise, pack one or all floating point registers into an + elf_fpregset_t. */ + +void +fill_fpregset (elf_fpregset_t *fpregsetp, int regno) +{ + if (mips_isa_regsize (current_gdbarch) == 4) + mips_fill_fpregset (fpregsetp, regno); + else + mips64_fill_fpregset ((void *) fpregsetp, regno); +} + /* Initialize one of the GNU/Linux OS ABIs. */ static void |