aboutsummaryrefslogtreecommitdiff
path: root/gdb/m32r-linux-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/m32r-linux-tdep.c')
-rw-r--r--gdb/m32r-linux-tdep.c183
1 files changed, 89 insertions, 94 deletions
diff --git a/gdb/m32r-linux-tdep.c b/gdb/m32r-linux-tdep.c
index c2f65df..a76090b 100644
--- a/gdb/m32r-linux-tdep.c
+++ b/gdb/m32r-linux-tdep.c
@@ -38,8 +38,6 @@
#include "linux-tdep.h"
#include "gdbarch.h"
-
-
/* Recognizing signal handler frames. */
/* GNU/Linux has two flavors of signals. Normal signal handlers, and
@@ -78,7 +76,10 @@
supported too. */
static const gdb_byte linux_sigtramp_code[] = {
- 0x67, 0x77, 0x10, 0xf2,
+ 0x67,
+ 0x77,
+ 0x10,
+ 0xf2,
};
/* If PC is in a sigtramp routine, return the address of the start of
@@ -99,7 +100,7 @@ m32r_linux_sigtramp_start (CORE_ADDR pc, frame_info_ptr this_frame)
if (pc % 2 != 0)
{
- if (!safe_frame_unwind_memory (this_frame, pc, {buf, 2}))
+ if (!safe_frame_unwind_memory (this_frame, pc, { buf, 2 }))
return 0;
if (memcmp (buf, linux_sigtramp_code, 2) == 0)
@@ -108,7 +109,7 @@ m32r_linux_sigtramp_start (CORE_ADDR pc, frame_info_ptr this_frame)
return 0;
}
- if (!safe_frame_unwind_memory (this_frame, pc, {buf, 4}))
+ if (!safe_frame_unwind_memory (this_frame, pc, { buf, 4 }))
return 0;
if (memcmp (buf, linux_sigtramp_code, 4) != 0)
@@ -148,12 +149,12 @@ m32r_linux_rt_sigtramp_start (CORE_ADDR pc, frame_info_ptr this_frame)
if (pc % 2 != 0)
return 0;
- if (!safe_frame_unwind_memory (this_frame, pc, {buf, 4}))
+ if (!safe_frame_unwind_memory (this_frame, pc, { buf, 4 }))
return 0;
if (memcmp (buf, linux_rt_sigtramp_code, 4) == 0)
{
- if (!safe_frame_unwind_memory (this_frame, pc + 4, {buf, 4}))
+ if (!safe_frame_unwind_memory (this_frame, pc + 4, { buf, 4 }))
return 0;
if (memcmp (buf, linux_rt_sigtramp_code + 4, 4) == 0)
@@ -161,7 +162,7 @@ m32r_linux_rt_sigtramp_start (CORE_ADDR pc, frame_info_ptr this_frame)
}
else if (memcmp (buf, linux_rt_sigtramp_code + 4, 4) == 0)
{
- if (!safe_frame_unwind_memory (this_frame, pc - 4, {buf, 4}))
+ if (!safe_frame_unwind_memory (this_frame, pc - 4, { buf, 4 }))
return 0;
if (memcmp (buf, linux_rt_sigtramp_code, 4) == 0)
@@ -190,30 +191,30 @@ m32r_linux_pc_in_sigtramp (CORE_ADDR pc, const char *name,
/* From <asm/sigcontext.h>. */
static int m32r_linux_sc_reg_offset[] = {
- 4 * 4, /* r0 */
- 5 * 4, /* r1 */
- 6 * 4, /* r2 */
- 7 * 4, /* r3 */
- 0 * 4, /* r4 */
- 1 * 4, /* r5 */
- 2 * 4, /* r6 */
- 8 * 4, /* r7 */
- 9 * 4, /* r8 */
- 10 * 4, /* r9 */
- 11 * 4, /* r10 */
- 12 * 4, /* r11 */
- 13 * 4, /* r12 */
- 21 * 4, /* fp */
- 22 * 4, /* lr */
- -1 * 4, /* sp */
- 16 * 4, /* psw */
- -1 * 4, /* cbr */
- 23 * 4, /* spi */
- 20 * 4, /* spu */
- 19 * 4, /* bpc */
- 17 * 4, /* pc */
- 15 * 4, /* accl */
- 14 * 4 /* acch */
+ 4 * 4, /* r0 */
+ 5 * 4, /* r1 */
+ 6 * 4, /* r2 */
+ 7 * 4, /* r3 */
+ 0 * 4, /* r4 */
+ 1 * 4, /* r5 */
+ 2 * 4, /* r6 */
+ 8 * 4, /* r7 */
+ 9 * 4, /* r8 */
+ 10 * 4, /* r9 */
+ 11 * 4, /* r10 */
+ 12 * 4, /* r11 */
+ 13 * 4, /* r12 */
+ 21 * 4, /* fp */
+ 22 * 4, /* lr */
+ -1 * 4, /* sp */
+ 16 * 4, /* psw */
+ -1 * 4, /* cbr */
+ 23 * 4, /* spi */
+ 20 * 4, /* spu */
+ 19 * 4, /* bpc */
+ 17 * 4, /* pc */
+ 15 * 4, /* accl */
+ 14 * 4 /* acch */
};
struct m32r_frame_cache
@@ -223,8 +224,7 @@ struct m32r_frame_cache
};
static struct m32r_frame_cache *
-m32r_linux_sigtramp_frame_cache (frame_info_ptr this_frame,
- void **this_cache)
+m32r_linux_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache)
{
struct m32r_frame_cache *cache;
CORE_ADDR sigcontext_addr, addr;
@@ -258,8 +258,8 @@ m32r_linux_sigtramp_frame_cache (frame_info_ptr this_frame,
for (regnum = 0; regnum < sizeof (m32r_linux_sc_reg_offset) / 4; regnum++)
{
if (m32r_linux_sc_reg_offset[regnum] >= 0)
- cache->saved_regs[regnum].set_addr (sigcontext_addr
- + m32r_linux_sc_reg_offset[regnum]);
+ cache->saved_regs[regnum].set_addr (
+ sigcontext_addr + m32r_linux_sc_reg_offset[regnum]);
}
return cache;
@@ -267,11 +267,10 @@ m32r_linux_sigtramp_frame_cache (frame_info_ptr this_frame,
static void
m32r_linux_sigtramp_frame_this_id (frame_info_ptr this_frame,
- void **this_cache,
- struct frame_id *this_id)
+ void **this_cache, struct frame_id *this_id)
{
- struct m32r_frame_cache *cache =
- m32r_linux_sigtramp_frame_cache (this_frame, this_cache);
+ struct m32r_frame_cache *cache
+ = m32r_linux_sigtramp_frame_cache (this_frame, this_cache);
(*this_id) = frame_id_build (cache->base, cache->pc);
}
@@ -280,8 +279,8 @@ static struct value *
m32r_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame,
void **this_cache, int regnum)
{
- struct m32r_frame_cache *cache =
- m32r_linux_sigtramp_frame_cache (this_frame, this_cache);
+ struct m32r_frame_cache *cache
+ = m32r_linux_sigtramp_frame_cache (this_frame, this_cache);
return trad_frame_get_prev_register (this_frame, cache->saved_regs, regnum);
}
@@ -301,44 +300,43 @@ m32r_linux_sigtramp_frame_sniffer (const struct frame_unwind *self,
return 0;
}
-static const struct frame_unwind m32r_linux_sigtramp_frame_unwind = {
- "m32r linux sigtramp",
- SIGTRAMP_FRAME,
- default_frame_unwind_stop_reason,
- m32r_linux_sigtramp_frame_this_id,
- m32r_linux_sigtramp_frame_prev_register,
- NULL,
- m32r_linux_sigtramp_frame_sniffer
-};
+static const struct frame_unwind m32r_linux_sigtramp_frame_unwind
+ = { "m32r linux sigtramp",
+ SIGTRAMP_FRAME,
+ default_frame_unwind_stop_reason,
+ m32r_linux_sigtramp_frame_this_id,
+ m32r_linux_sigtramp_frame_prev_register,
+ NULL,
+ m32r_linux_sigtramp_frame_sniffer };
/* Mapping between the registers in `struct pt_regs'
format and GDB's register array layout. */
static int m32r_pt_regs_offset[] = {
- 4 * 4, /* r0 */
- 4 * 5, /* r1 */
- 4 * 6, /* r2 */
- 4 * 7, /* r3 */
- 4 * 0, /* r4 */
- 4 * 1, /* r5 */
- 4 * 2, /* r6 */
- 4 * 8, /* r7 */
- 4 * 9, /* r8 */
- 4 * 10, /* r9 */
- 4 * 11, /* r10 */
- 4 * 12, /* r11 */
- 4 * 13, /* r12 */
- 4 * 24, /* fp */
- 4 * 25, /* lr */
- 4 * 23, /* sp */
- 4 * 19, /* psw */
- 4 * 19, /* cbr */
- 4 * 26, /* spi */
- 4 * 23, /* spu */
- 4 * 22, /* bpc */
- 4 * 20, /* pc */
- 4 * 16, /* accl */
- 4 * 15 /* acch */
+ 4 * 4, /* r0 */
+ 4 * 5, /* r1 */
+ 4 * 6, /* r2 */
+ 4 * 7, /* r3 */
+ 4 * 0, /* r4 */
+ 4 * 1, /* r5 */
+ 4 * 2, /* r6 */
+ 4 * 8, /* r7 */
+ 4 * 9, /* r8 */
+ 4 * 10, /* r9 */
+ 4 * 11, /* r10 */
+ 4 * 12, /* r11 */
+ 4 * 13, /* r12 */
+ 4 * 24, /* fp */
+ 4 * 25, /* lr */
+ 4 * 23, /* sp */
+ 4 * 19, /* psw */
+ 4 * 19, /* cbr */
+ 4 * 26, /* spi */
+ 4 * 23, /* spu */
+ 4 * 22, /* bpc */
+ 4 * 20, /* pc */
+ 4 * 16, /* accl */
+ 4 * 15 /* acch */
};
#define PSW_OFFSET (4 * 19)
@@ -354,8 +352,7 @@ m32r_linux_supply_gregset (const struct regset *regset,
const void *gregs, size_t size)
{
const gdb_byte *regs = (const gdb_byte *) gregs;
- enum bfd_endian byte_order =
- gdbarch_byte_order (regcache->arch ());
+ enum bfd_endian byte_order = gdbarch_byte_order (regcache->arch ());
ULONGEST psw, bbpsw;
gdb_byte buf[4];
const gdb_byte *p;
@@ -393,13 +390,12 @@ m32r_linux_supply_gregset (const struct regset *regset,
static void
m32r_linux_collect_gregset (const struct regset *regset,
- const struct regcache *regcache,
- int regnum, void *gregs, size_t size)
+ const struct regcache *regcache, int regnum,
+ void *gregs, size_t size)
{
gdb_byte *regs = (gdb_byte *) gregs;
int i;
- enum bfd_endian byte_order =
- gdbarch_byte_order (regcache->arch ());
+ enum bfd_endian byte_order = gdbarch_byte_order (regcache->arch ());
ULONGEST psw;
gdb_byte buf[4];
@@ -422,8 +418,9 @@ m32r_linux_collect_gregset (const struct regset *regset,
case CBR_REGNUM:
break;
case M32R_SP_REGNUM:
- regcache->raw_collect
- (i, regs + ((psw & 0x80) ? SPU_OFFSET : SPI_OFFSET));
+ regcache->raw_collect (i,
+ regs
+ + ((psw & 0x80) ? SPU_OFFSET : SPI_OFFSET));
break;
default:
regcache->raw_collect (i, regs + m32r_pt_regs_offset[i]);
@@ -431,10 +428,8 @@ m32r_linux_collect_gregset (const struct regset *regset,
}
}
-static const struct regset m32r_linux_gregset = {
- NULL,
- m32r_linux_supply_gregset, m32r_linux_collect_gregset
-};
+static const struct regset m32r_linux_gregset
+ = { NULL, m32r_linux_supply_gregset, m32r_linux_collect_gregset };
static void
m32r_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
@@ -442,14 +437,13 @@ m32r_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
void *cb_data,
const struct regcache *regcache)
{
- cb (".reg", M32R_LINUX_GREGS_SIZE, M32R_LINUX_GREGS_SIZE, &m32r_linux_gregset,
- NULL, cb_data);
+ cb (".reg", M32R_LINUX_GREGS_SIZE, M32R_LINUX_GREGS_SIZE,
+ &m32r_linux_gregset, NULL, cb_data);
}
static void
m32r_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
-
linux_init_abi (info, gdbarch, 0);
/* Since EVB register is not available for native debug, we reduce
@@ -460,12 +454,12 @@ m32r_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_fetch_link_map_offsets (gdbarch,
+ linux_ilp32_fetch_link_map_offsets);
/* Core file support. */
- set_gdbarch_iterate_over_regset_sections
- (gdbarch, m32r_linux_iterate_over_regset_sections);
+ set_gdbarch_iterate_over_regset_sections (
+ gdbarch, m32r_linux_iterate_over_regset_sections);
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
@@ -473,6 +467,7 @@ m32r_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
}
void _initialize_m32r_linux_tdep ();
+
void
_initialize_m32r_linux_tdep ()
{