projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Store objfiles on a std::list
[deliverable/binutils-gdb.git]
/
gdb
/
arm-linux-tdep.c
diff --git
a/gdb/arm-linux-tdep.c
b/gdb/arm-linux-tdep.c
index a5ad06434c230ed2e0af42ec5aa3694d28361b7d..32c1ef3a770002547ae548bb5b1b03c7f3734221 100644
(file)
--- a/
gdb/arm-linux-tdep.c
+++ b/
gdb/arm-linux-tdep.c
@@
-33,6
+33,7
@@
#include "auxv.h"
#include "xml-syscall.h"
#include "auxv.h"
#include "xml-syscall.h"
+#include "aarch32-tdep.h"
#include "arch/arm.h"
#include "arch/arm-get-next-pcs.h"
#include "arch/arm-linux.h"
#include "arch/arm.h"
#include "arch/arm-get-next-pcs.h"
#include "arch/arm-linux.h"
@@
-55,7
+56,6
@@
#include "user-regs.h"
#include <ctype.h>
#include "elf/common.h"
#include "user-regs.h"
#include <ctype.h>
#include "elf/common.h"
-extern int arm_apcs_32;
/* Under ARM GNU/Linux the traditional way of performing a breakpoint
is to execute a particular software interrupt, rather than use a
/* Under ARM GNU/Linux the traditional way of performing a breakpoint
is to execute a particular software interrupt, rather than use a
@@
-103,7
+103,7
@@
static const gdb_byte arm_linux_thumb2_le_breakpoint[] = { 0xf0, 0xf7, 0x00, 0xa
SoftVFP or VFP (which implies EABI) then the PC is at offset 9 in the
buffer. This is also true for the SoftFPA model. However, for the FPA
model the PC is at offset 21 in the buffer. */
SoftVFP or VFP (which implies EABI) then the PC is at offset 9 in the
buffer. This is also true for the SoftFPA model. However, for the FPA
model the PC is at offset 21 in the buffer. */
-#define ARM_LINUX_JB_ELEMENT_SIZE INT_REGISTER_SIZE
+#define ARM_LINUX_JB_ELEMENT_SIZE
ARM_
INT_REGISTER_SIZE
#define ARM_LINUX_JB_PC_FPA 21
#define ARM_LINUX_JB_PC_EABI 9
#define ARM_LINUX_JB_PC_FPA 21
#define ARM_LINUX_JB_PC_EABI 9
@@
-471,7
+471,7
@@
static struct tramp_frame arm_kernel_linux_restart_syscall_tramp_frame = {
/* Core file and register set support. */
/* Core file and register set support. */
-#define ARM_LINUX_SIZEOF_GREGSET (18 * INT_REGISTER_SIZE)
+#define ARM_LINUX_SIZEOF_GREGSET (18 *
ARM_
INT_REGISTER_SIZE)
void
arm_linux_supply_gregset (const struct regset *regset,
void
arm_linux_supply_gregset (const struct regset *regset,
@@
-483,29
+483,30
@@
arm_linux_supply_gregset (const struct regset *regset,
const gdb_byte *gregs = (const gdb_byte *) gregs_buf;
int regno;
CORE_ADDR reg_pc;
const gdb_byte *gregs = (const gdb_byte *) gregs_buf;
int regno;
CORE_ADDR reg_pc;
- gdb_byte pc_buf[INT_REGISTER_SIZE];
+ gdb_byte pc_buf[
ARM_
INT_REGISTER_SIZE];
for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++)
if (regnum == -1 || regnum == regno)
for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++)
if (regnum == -1 || regnum == regno)
- regcache->raw_supply (regno, gregs + INT_REGISTER_SIZE * regno);
+ regcache->raw_supply (regno, gregs +
ARM_
INT_REGISTER_SIZE * regno);
if (regnum == ARM_PS_REGNUM || regnum == -1)
{
if (arm_apcs_32)
regcache->raw_supply (ARM_PS_REGNUM,
if (regnum == ARM_PS_REGNUM || regnum == -1)
{
if (arm_apcs_32)
regcache->raw_supply (ARM_PS_REGNUM,
- gregs + INT_REGISTER_SIZE * ARM_CPSR_GREGNUM);
+ gregs +
ARM_
INT_REGISTER_SIZE * ARM_CPSR_GREGNUM);
else
regcache->raw_supply (ARM_PS_REGNUM,
else
regcache->raw_supply (ARM_PS_REGNUM,
- gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM);
+ gregs +
ARM_
INT_REGISTER_SIZE * ARM_PC_REGNUM);
}
if (regnum == ARM_PC_REGNUM || regnum == -1)
{
}
if (regnum == ARM_PC_REGNUM || regnum == -1)
{
- reg_pc = extract_unsigned_integer (
gregs
-
+
INT_REGISTER_SIZE * ARM_PC_REGNUM,
-
INT_REGISTER_SIZE, byte_order);
+ reg_pc = extract_unsigned_integer (
+
gregs + ARM_
INT_REGISTER_SIZE * ARM_PC_REGNUM,
+
ARM_
INT_REGISTER_SIZE, byte_order);
reg_pc = gdbarch_addr_bits_remove (gdbarch, reg_pc);
reg_pc = gdbarch_addr_bits_remove (gdbarch, reg_pc);
- store_unsigned_integer (pc_buf, INT_REGISTER_SIZE, byte_order, reg_pc);
+ store_unsigned_integer (pc_buf, ARM_INT_REGISTER_SIZE, byte_order,
+ reg_pc);
regcache->raw_supply (ARM_PC_REGNUM, pc_buf);
}
}
regcache->raw_supply (ARM_PC_REGNUM, pc_buf);
}
}
@@
-521,21
+522,21
@@
arm_linux_collect_gregset (const struct regset *regset,
for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++)
if (regnum == -1 || regnum == regno)
regcache->raw_collect (regno,
for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++)
if (regnum == -1 || regnum == regno)
regcache->raw_collect (regno,
- gregs + INT_REGISTER_SIZE * regno);
+ gregs +
ARM_
INT_REGISTER_SIZE * regno);
if (regnum == ARM_PS_REGNUM || regnum == -1)
{
if (arm_apcs_32)
regcache->raw_collect (ARM_PS_REGNUM,
if (regnum == ARM_PS_REGNUM || regnum == -1)
{
if (arm_apcs_32)
regcache->raw_collect (ARM_PS_REGNUM,
- gregs + INT_REGISTER_SIZE * ARM_CPSR_GREGNUM);
+ gregs +
ARM_
INT_REGISTER_SIZE * ARM_CPSR_GREGNUM);
else
regcache->raw_collect (ARM_PS_REGNUM,
else
regcache->raw_collect (ARM_PS_REGNUM,
- gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM);
+ gregs +
ARM_
INT_REGISTER_SIZE * ARM_PC_REGNUM);
}
if (regnum == ARM_PC_REGNUM || regnum == -1)
regcache->raw_collect (ARM_PC_REGNUM,
}
if (regnum == ARM_PC_REGNUM || regnum == -1)
regcache->raw_collect (ARM_PC_REGNUM,
- gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM);
+ gregs +
ARM_
INT_REGISTER_SIZE * ARM_PC_REGNUM);
}
/* Support for register format used by the NWFPE FPA emulator. */
}
/* Support for register format used by the NWFPE FPA emulator. */
@@
-551,11
+552,11
@@
supply_nwfpe_register (struct regcache *regcache, int regno,
{
const gdb_byte *reg_data;
gdb_byte reg_tag;
{
const gdb_byte *reg_data;
gdb_byte reg_tag;
- gdb_byte buf[FP_REGISTER_SIZE];
+ gdb_byte buf[
ARM_
FP_REGISTER_SIZE];
- reg_data = regs + (regno - ARM_F0_REGNUM) * FP_REGISTER_SIZE;
+ reg_data = regs + (regno - ARM_F0_REGNUM) *
ARM_
FP_REGISTER_SIZE;
reg_tag = regs[(regno - ARM_F0_REGNUM) + NWFPE_TAGS_OFFSET];
reg_tag = regs[(regno - ARM_F0_REGNUM) + NWFPE_TAGS_OFFSET];
- memset (buf, 0, FP_REGISTER_SIZE);
+ memset (buf, 0,
ARM_
FP_REGISTER_SIZE);
switch (reg_tag)
{
switch (reg_tag)
{
@@
-586,7
+587,7
@@
collect_nwfpe_register (const struct regcache *regcache, int regno,
{
gdb_byte *reg_data;
gdb_byte reg_tag;
{
gdb_byte *reg_data;
gdb_byte reg_tag;
- gdb_byte buf[FP_REGISTER_SIZE];
+ gdb_byte buf[
ARM_
FP_REGISTER_SIZE];
regcache->raw_collect (regno, buf);
regcache->raw_collect (regno, buf);
@@
-595,7
+596,7
@@
collect_nwfpe_register (const struct regcache *regcache, int regno,
from the native file to the target file. But this doesn't
always make sense. */
from the native file to the target file. But this doesn't
always make sense. */
- reg_data = regs + (regno - ARM_F0_REGNUM) * FP_REGISTER_SIZE;
+ reg_data = regs + (regno - ARM_F0_REGNUM) *
ARM_
FP_REGISTER_SIZE;
reg_tag = regs[(regno - ARM_F0_REGNUM) + NWFPE_TAGS_OFFSET];
switch (reg_tag)
reg_tag = regs[(regno - ARM_F0_REGNUM) + NWFPE_TAGS_OFFSET];
switch (reg_tag)
@@
-648,7
+649,7
@@
arm_linux_collect_nwfpe (const struct regset *regset,
if (regnum == ARM_FPS_REGNUM || regnum == -1)
regcache->raw_collect (ARM_FPS_REGNUM,
if (regnum == ARM_FPS_REGNUM || regnum == -1)
regcache->raw_collect (ARM_FPS_REGNUM,
- regs + INT_REGISTER_SIZE * ARM_FPS_REGNUM);
+ regs +
ARM_
INT_REGISTER_SIZE * ARM_FPS_REGNUM);
}
/* Support VFP register format. */
}
/* Support VFP register format. */
@@
-737,14
+738,14
@@
arm_linux_core_read_description (struct gdbarch *gdbarch,
/* NEON implies VFPv3-D32 or no-VFP unit. Say that we only support
Neon with VFPv3-D32. */
if (arm_hwcap & HWCAP_NEON)
/* NEON implies VFPv3-D32 or no-VFP unit. Say that we only support
Neon with VFPv3-D32. */
if (arm_hwcap & HWCAP_NEON)
- return
tdesc_arm_with_neon
;
+ return
aarch32_read_description ()
;
else if ((arm_hwcap & (HWCAP_VFPv3 | HWCAP_VFPv3D16)) == HWCAP_VFPv3)
else if ((arm_hwcap & (HWCAP_VFPv3 | HWCAP_VFPv3D16)) == HWCAP_VFPv3)
- return
tdesc_arm_with_vfpv3
;
- else
-
return tdesc_arm_with_vfpv2
;
+ return
arm_read_description (ARM_FP_TYPE_VFPV3)
;
+
+
return arm_read_description (ARM_FP_TYPE_VFPV2)
;
}
}
- return
NULL
;
+ return
nullptr
;
}
}
@@
-954,7
+955,7
@@
arm_linux_cleanup_svc (struct gdbarch *gdbarch,
within_scratch = (apparent_pc >= dsc->scratch_base
&& apparent_pc < (dsc->scratch_base
within_scratch = (apparent_pc >= dsc->scratch_base
&& apparent_pc < (dsc->scratch_base
- + DISPLACED_MODIFIED_INSNS * 4 + 4));
+ +
ARM_
DISPLACED_MODIFIED_INSNS * 4 + 4));
if (debug_displaced)
{
if (debug_displaced)
{
@@
-1709,11
+1710,11
@@
arm_linux_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
/* Implement the gcc_target_options gdbarch method. */
/* Implement the gcc_target_options gdbarch method. */
-static
char *
+static
std::string
arm_linux_gcc_target_options (struct gdbarch *gdbarch)
{
/* GCC doesn't know "-m32". */
arm_linux_gcc_target_options (struct gdbarch *gdbarch)
{
/* GCC doesn't know "-m32". */
- return
NULL
;
+ return
{}
;
}
static void
}
static void
This page took
0.027514 seconds
and
4
git commands to generate.