projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a new 'info proc files' subcommand of 'info proc'.
[deliverable/binutils-gdb.git]
/
gdb
/
arm-tdep.c
diff --git
a/gdb/arm-tdep.c
b/gdb/arm-tdep.c
index f64df4c57416d8cda7ad92aec3d7939de94b343d..c3280ee211d17ff899dc56f7a7127d7b5e685d5b 100644
(file)
--- a/
gdb/arm-tdep.c
+++ b/
gdb/arm-tdep.c
@@
-3804,8
+3804,7
@@
arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
reg_char, reg_scaled + i);
regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
strlen (name_buf));
reg_char, reg_scaled + i);
regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
strlen (name_buf));
- regcache_cooked_write (regcache, regnum,
- val + i * unit_length);
+ regcache->cooked_write (regnum, val + i * unit_length);
}
}
continue;
}
}
continue;
@@
-6568,6
+6567,7
@@
arm_decode_miscellaneous (struct gdbarch *gdbarch, uint32_t insn,
else if (op == 0x3)
/* Not really supported. */
return arm_copy_unmodified (gdbarch, insn, "smc", dsc);
else if (op == 0x3)
/* Not really supported. */
return arm_copy_unmodified (gdbarch, insn, "smc", dsc);
+ /* Fall through. */
default:
return arm_copy_undef (gdbarch, insn, dsc);
default:
return arm_copy_undef (gdbarch, insn, dsc);
@@
-7892,7
+7892,7
@@
arm_extract_return_value (struct type *type, struct regcache *regs,
internal type. */
bfd_byte tmpbuf[FP_REGISTER_SIZE];
internal type. */
bfd_byte tmpbuf[FP_REGISTER_SIZE];
- reg
cache_cooked_read (regs,
ARM_F0_REGNUM, tmpbuf);
+ reg
s->cooked_read (
ARM_F0_REGNUM, tmpbuf);
target_float_convert (tmpbuf, arm_ext_type (gdbarch),
valbuf, type);
}
target_float_convert (tmpbuf, arm_ext_type (gdbarch),
valbuf, type);
}
@@
-7903,10
+7903,9
@@
arm_extract_return_value (struct type *type, struct regcache *regs,
/* ARM_FLOAT_VFP can arise if this is a variadic function so
not using the VFP ABI code. */
case ARM_FLOAT_VFP:
/* ARM_FLOAT_VFP can arise if this is a variadic function so
not using the VFP ABI code. */
case ARM_FLOAT_VFP:
- reg
cache_cooked_read (regs,
ARM_A1_REGNUM, valbuf);
+ reg
s->cooked_read (
ARM_A1_REGNUM, valbuf);
if (TYPE_LENGTH (type) > 4)
if (TYPE_LENGTH (type) > 4)
- regcache_cooked_read (regs, ARM_A1_REGNUM + 1,
- valbuf + INT_REGISTER_SIZE);
+ regs->cooked_read (ARM_A1_REGNUM + 1, valbuf + INT_REGISTER_SIZE);
break;
default:
break;
default:
@@
-7954,7
+7953,7
@@
arm_extract_return_value (struct type *type, struct regcache *regs,
while (len > 0)
{
while (len > 0)
{
- reg
cache_cooked_read (regs,
regno++, tmpbuf);
+ reg
s->cooked_read (
regno++, tmpbuf);
memcpy (valbuf, tmpbuf,
len > INT_REGISTER_SIZE ? INT_REGISTER_SIZE : len);
len -= INT_REGISTER_SIZE;
memcpy (valbuf, tmpbuf,
len > INT_REGISTER_SIZE ? INT_REGISTER_SIZE : len);
len -= INT_REGISTER_SIZE;
@@
-8099,7
+8098,7
@@
arm_store_return_value (struct type *type, struct regcache *regs,
case ARM_FLOAT_FPA:
target_float_convert (valbuf, type, buf, arm_ext_type (gdbarch));
case ARM_FLOAT_FPA:
target_float_convert (valbuf, type, buf, arm_ext_type (gdbarch));
- reg
cache_cooked_write (regs,
ARM_F0_REGNUM, buf);
+ reg
s->cooked_write (
ARM_F0_REGNUM, buf);
break;
case ARM_FLOAT_SOFT_FPA:
break;
case ARM_FLOAT_SOFT_FPA:
@@
-8107,10
+8106,9
@@
arm_store_return_value (struct type *type, struct regcache *regs,
/* ARM_FLOAT_VFP can arise if this is a variadic function so
not using the VFP ABI code. */
case ARM_FLOAT_VFP:
/* ARM_FLOAT_VFP can arise if this is a variadic function so
not using the VFP ABI code. */
case ARM_FLOAT_VFP:
- reg
cache_cooked_write (regs,
ARM_A1_REGNUM, valbuf);
+ reg
s->cooked_write (
ARM_A1_REGNUM, valbuf);
if (TYPE_LENGTH (type) > 4)
if (TYPE_LENGTH (type) > 4)
- regcache_cooked_write (regs, ARM_A1_REGNUM + 1,
- valbuf + INT_REGISTER_SIZE);
+ regs->cooked_write (ARM_A1_REGNUM + 1, valbuf + INT_REGISTER_SIZE);
break;
default:
break;
default:
@@
-8135,7
+8133,7
@@
arm_store_return_value (struct type *type, struct regcache *regs,
LONGEST val = unpack_long (type, valbuf);
store_signed_integer (tmpbuf, INT_REGISTER_SIZE, byte_order, val);
LONGEST val = unpack_long (type, valbuf);
store_signed_integer (tmpbuf, INT_REGISTER_SIZE, byte_order, val);
- reg
cache_cooked_write (regs,
ARM_A1_REGNUM, tmpbuf);
+ reg
s->cooked_write (
ARM_A1_REGNUM, tmpbuf);
}
else
{
}
else
{
@@
-8147,7
+8145,7
@@
arm_store_return_value (struct type *type, struct regcache *regs,
while (len > 0)
{
while (len > 0)
{
- reg
cache_cooked_write (regs,
regno++, valbuf);
+ reg
s->cooked_write (
regno++, valbuf);
len -= INT_REGISTER_SIZE;
valbuf += INT_REGISTER_SIZE;
}
len -= INT_REGISTER_SIZE;
valbuf += INT_REGISTER_SIZE;
}
@@
-8166,7
+8164,7
@@
arm_store_return_value (struct type *type, struct regcache *regs,
{
memcpy (tmpbuf, valbuf,
len > INT_REGISTER_SIZE ? INT_REGISTER_SIZE : len);
{
memcpy (tmpbuf, valbuf,
len > INT_REGISTER_SIZE ? INT_REGISTER_SIZE : len);
- reg
cache_cooked_write (regs,
regno++, tmpbuf);
+ reg
s->cooked_write (
regno++, tmpbuf);
len -= INT_REGISTER_SIZE;
valbuf += INT_REGISTER_SIZE;
}
len -= INT_REGISTER_SIZE;
valbuf += INT_REGISTER_SIZE;
}
@@
-8213,11
+8211,9
@@
arm_return_value (struct gdbarch *gdbarch, struct value *function,
regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
strlen (name_buf));
if (writebuf)
regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
strlen (name_buf));
if (writebuf)
- regcache_cooked_write (regcache, regnum,
- writebuf + i * unit_length);
+ regcache->cooked_write (regnum, writebuf + i * unit_length);
if (readbuf)
if (readbuf)
- regcache_cooked_read (regcache, regnum,
- readbuf + i * unit_length);
+ regcache->cooked_read (regnum, readbuf + i * unit_length);
}
}
return RETURN_VALUE_REGISTER_CONVENTION;
}
}
return RETURN_VALUE_REGISTER_CONVENTION;
@@
-8764,9
+8760,9
@@
arm_neon_quad_write (struct gdbarch *gdbarch, struct regcache *regcache,
else
offset = 0;
else
offset = 0;
- regcache
_raw_write (regcache,
double_regnum, buf + offset);
+ regcache
->raw_write (
double_regnum, buf + offset);
offset = 8 - offset;
offset = 8 - offset;
- regcache
_raw_write (regcache,
double_regnum + 1, buf + offset);
+ regcache
->raw_write (
double_regnum + 1, buf + offset);
}
static void
}
static void
@@
-8799,9
+8795,9
@@
arm_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache,
double_regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
strlen (name_buf));
double_regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
strlen (name_buf));
- regcache
_raw_read (regcache,
double_regnum, reg_buf);
+ regcache
->raw_read (
double_regnum, reg_buf);
memcpy (reg_buf + offset, buf, 4);
memcpy (reg_buf + offset, buf, 4);
- regcache
_raw_write (regcache,
double_regnum, reg_buf);
+ regcache
->raw_write (
double_regnum, reg_buf);
}
}
}
}
@@
-8959,7
+8955,6
@@
arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
else if (ei_osabi == ELFOSABI_NONE || ei_osabi == ELFOSABI_GNU)
{
int eabi_ver = EF_ARM_EABI_VERSION (e_flags);
else if (ei_osabi == ELFOSABI_NONE || ei_osabi == ELFOSABI_GNU)
{
int eabi_ver = EF_ARM_EABI_VERSION (e_flags);
- int attr_arch, attr_profile;
switch (eabi_ver)
{
switch (eabi_ver)
{
@@
-9030,11
+9025,13
@@
arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
executable file includes build attributes; GCC does
copy them to the executable, but e.g. RealView does
not. */
executable file includes build attributes; GCC does
copy them to the executable, but e.g. RealView does
not. */
- attr_arch = bfd_elf_get_obj_attr_int (info.abfd, OBJ_ATTR_PROC,
- Tag_CPU_arch);
- attr_profile = bfd_elf_get_obj_attr_int (info.abfd,
- OBJ_ATTR_PROC,
- Tag_CPU_arch_profile);
+ int attr_arch
+ = bfd_elf_get_obj_attr_int (info.abfd, OBJ_ATTR_PROC,
+ Tag_CPU_arch);
+ int attr_profile
+ = bfd_elf_get_obj_attr_int (info.abfd, OBJ_ATTR_PROC,
+ Tag_CPU_arch_profile);
+
/* GCC specifies the profile for v6-M; RealView only
specifies the profile for architectures starting with
V7 (as opposed to architectures with a tag
/* GCC specifies the profile for v6-M; RealView only
specifies the profile for architectures starting with
V7 (as opposed to architectures with a tag
@@
-9576,7
+9573,8
@@
_initialize_arm_tdep (void)
arm_disassembler_options = xstrdup ("reg-names-std");
arm_disassembler_options = xstrdup ("reg-names-std");
- const disasm_options_t *disasm_options = disassembler_options_arm ();
+ const disasm_options_t *disasm_options
+ = &disassembler_options_arm ()->options;
int num_disassembly_styles = 0;
for (i = 0; disasm_options->name[i] != NULL; i++)
if (CONST_STRNEQ (disasm_options->name[i], "reg-names-"))
int num_disassembly_styles = 0;
for (i = 0; disasm_options->name[i] != NULL; i++)
if (CONST_STRNEQ (disasm_options->name[i], "reg-names-"))
@@
-10222,7
+10220,7
@@
arm_record_data_proc_misc_ld_str (insn_decode_record *arm_insn_r)
uint32_t record_buf[8], record_buf_mem[8];
ULONGEST u_regval[2] = {0};
uint32_t record_buf[8], record_buf_mem[8];
ULONGEST u_regval[2] = {0};
- uint32_t reg_src1 = 0
, reg_dest = 0
;
+ uint32_t reg_src1 = 0;
uint32_t opcode1 = 0;
arm_insn_r->opcode = bits (arm_insn_r->arm_insn, 21, 24);
uint32_t opcode1 = 0;
arm_insn_r->opcode = bits (arm_insn_r->arm_insn, 21, 24);
@@
-11420,7
+11418,8
@@
arm_record_vfp_data_proc_insn (insn_decode_record *arm_insn_r)
opc3 = bits (arm_insn_r->arm_insn, 6, 7);
dp_op_sz = bit (arm_insn_r->arm_insn, 8);
bit_d = bit (arm_insn_r->arm_insn, 22);
opc3 = bits (arm_insn_r->arm_insn, 6, 7);
dp_op_sz = bit (arm_insn_r->arm_insn, 8);
bit_d = bit (arm_insn_r->arm_insn, 22);
- opc1 = opc1 & 0x04;
+ /* Mask off the "D" bit. */
+ opc1 = opc1 & ~0x04;
/* Handle VMLA, VMLS. */
if (opc1 == 0x00)
/* Handle VMLA, VMLS. */
if (opc1 == 0x00)
@@
-11485,7
+11484,7
@@
arm_record_vfp_data_proc_insn (insn_decode_record *arm_insn_r)
}
}
/* Handle VDIV. */
}
}
/* Handle VDIV. */
- else if (opc1 == 0x0
b
)
+ else if (opc1 == 0x0
8
)
{
if (dp_op_sz)
curr_insn_type = INSN_T1;
{
if (dp_op_sz)
curr_insn_type = INSN_T1;
@@
-13061,7
+13060,7
@@
public:
class instruction_reader : public abstract_memory_reader
{
public:
class instruction_reader : public abstract_memory_reader
{
public:
- bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len)
+ bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len)
override
{
if (target_read_memory (memaddr, buf, len))
return false;
{
if (target_read_memory (memaddr, buf, len))
return false;
@@
-13214,7
+13213,7
@@
public:
: m_endian (endian), m_insns (insns), m_insns_size (SIZE)
{}
: m_endian (endian), m_insns (insns), m_insns_size (SIZE)
{}
- bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len)
+ bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len)
override
{
SELF_CHECK (len == 4 || len == 2);
SELF_CHECK (memaddr % 2 == 0);
{
SELF_CHECK (len == 4 || len == 2);
SELF_CHECK (memaddr % 2 == 0);
This page took
0.037665 seconds
and
4
git commands to generate.