Don't use arm_regmap and arm_num_regs in arm_fill_gregset and arm_store_gregset
In order to align with arm-linux-nat.c counterparts, we don't use arm_num_regs and arm_regmap in functions arm_fill_gregset and arm_store_gregset. Instead, we use register numbers. With this patch applied, arm_fill_gregset and arm_store_gregset don't need arm_num_regs and arm_regmap, and they will be moved to a separate file shared for both arm and aarch64 in the following patch. gdb/gdbserver: 2015-07-30 Yao Qi <yao.qi@linaro.org> * linux-arm-low.c: Include arch/arm.h. (arm_fill_gregset): Don't use arm_num_regs and arm_regmap. (arm_store_gregset): Likewise.
This commit is contained in:
parent
ec74129274
commit
deca266c89
2 changed files with 20 additions and 8 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2015-07-30 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
|
* linux-arm-low.c: Include arch/arm.h.
|
||||||
|
(arm_fill_gregset): Don't use arm_num_regs and arm_regmap.
|
||||||
|
(arm_store_gregset): Likewise.
|
||||||
|
|
||||||
2015-07-29 Simon Marchi <simon.marchi@ericsson.com>
|
2015-07-29 Simon Marchi <simon.marchi@ericsson.com>
|
||||||
|
|
||||||
* linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
|
* linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include "server.h"
|
#include "server.h"
|
||||||
#include "linux-low.h"
|
#include "linux-low.h"
|
||||||
|
#include "arch/arm.h"
|
||||||
|
|
||||||
/* Don't include elf.h if linux/elf.h got included by gdb_proc_service.h.
|
/* Don't include elf.h if linux/elf.h got included by gdb_proc_service.h.
|
||||||
On Bionic elf.h and linux/elf.h have conflicting definitions. */
|
On Bionic elf.h and linux/elf.h have conflicting definitions. */
|
||||||
|
@ -154,10 +155,12 @@ static void
|
||||||
arm_fill_gregset (struct regcache *regcache, void *buf)
|
arm_fill_gregset (struct regcache *regcache, void *buf)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
uint32_t *regs = buf;
|
||||||
|
|
||||||
for (i = 0; i < arm_num_regs; i++)
|
for (i = ARM_A1_REGNUM; i <= ARM_PC_REGNUM; i++)
|
||||||
if (arm_regmap[i] != -1)
|
collect_register (regcache, i, ®s[i]);
|
||||||
collect_register (regcache, i, ((char *) buf) + arm_regmap[i]);
|
|
||||||
|
collect_register (regcache, ARM_PS_REGNUM, ®s[16]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -165,13 +168,16 @@ arm_store_gregset (struct regcache *regcache, const void *buf)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char zerobuf[8];
|
char zerobuf[8];
|
||||||
|
const uint32_t *regs = buf;
|
||||||
|
|
||||||
memset (zerobuf, 0, 8);
|
memset (zerobuf, 0, 8);
|
||||||
for (i = 0; i < arm_num_regs; i++)
|
for (i = ARM_A1_REGNUM; i <= ARM_PC_REGNUM; i++)
|
||||||
if (arm_regmap[i] != -1)
|
supply_register (regcache, i, ®s[i]);
|
||||||
supply_register (regcache, i, ((char *) buf) + arm_regmap[i]);
|
|
||||||
else
|
for (; i < ARM_PS_REGNUM; i++)
|
||||||
supply_register (regcache, i, zerobuf);
|
supply_register (regcache, i, zerobuf);
|
||||||
|
|
||||||
|
supply_register (regcache, ARM_PS_REGNUM, ®s[16]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue