projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change delegation for to_read_description
[deliverable/binutils-gdb.git]
/
gdb
/
sparc64-sol2-tdep.c
diff --git
a/gdb/sparc64-sol2-tdep.c
b/gdb/sparc64-sol2-tdep.c
index edcea4e0caab05aae6f3143dd803df25c1a37e42..2c3026181146e0f0595defd3d9cfcadd1af77232 100644
(file)
--- a/
gdb/sparc64-sol2-tdep.c
+++ b/
gdb/sparc64-sol2-tdep.c
@@
-1,6
+1,6
@@
/* Target-dependent code for Solaris UltraSPARC.
/* Target-dependent code for Solaris UltraSPARC.
- Copyright (C) 2003
, 2004, 2006, 2007, 2008
Free Software Foundation, Inc.
+ Copyright (C) 2003
-2014
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-45,6
+45,12
@@
const struct sparc_gregset sparc64_sol2_gregset =
16 * 8, /* %l0 */
8 /* sizeof (%y) */
};
16 * 8, /* %l0 */
8 /* sizeof (%y) */
};
+
+const struct sparc_fpregset sparc64_sol2_fpregset =
+{
+ 0 * 8, /* %f0 */
+ 33 * 8, /* %fsr */
+};
\f
static struct sparc_frame_cache *
\f
static struct sparc_frame_cache *
@@
-66,7
+72,8
@@
sparc64_sol2_sigtramp_frame_cache (struct frame_info *this_frame,
/* The third argument is a pointer to an instance of `ucontext_t',
which has a member `uc_mcontext' that contains the saved
registers. */
/* The third argument is a pointer to an instance of `ucontext_t',
which has a member `uc_mcontext' that contains the saved
registers. */
- regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM);
+ regnum =
+ (cache->copied_regs_mask & 0x04) ? SPARC_I2_REGNUM : SPARC_O2_REGNUM;
mcontext_addr = get_frame_register_unsigned (this_frame, regnum) + 64;
cache->saved_regs[SPARC64_CCR_REGNUM].addr = mcontext_addr + 0 * 8;
mcontext_addr = get_frame_register_unsigned (this_frame, regnum) + 64;
cache->saved_regs[SPARC64_CCR_REGNUM].addr = mcontext_addr + 0 * 8;
@@
-129,7
+136,7
@@
sparc64_sol2_sigtramp_frame_sniffer (const struct frame_unwind *self,
void **this_cache)
{
CORE_ADDR pc = get_frame_pc (this_frame);
void **this_cache)
{
CORE_ADDR pc = get_frame_pc (this_frame);
- char *name;
+ c
onst c
har *name;
find_pc_partial_function (pc, &name, NULL, NULL);
if (sparc_sol2_pc_in_sigtramp (pc, name))
find_pc_partial_function (pc, &name, NULL, NULL);
if (sparc_sol2_pc_in_sigtramp (pc, name))
@@
-140,6
+147,7
@@
sparc64_sol2_sigtramp_frame_sniffer (const struct frame_unwind *self,
static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind =
{
SIGTRAMP_FRAME,
static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind =
{
SIGTRAMP_FRAME,
+ default_frame_unwind_stop_reason,
sparc64_sol2_sigtramp_frame_this_id,
sparc64_sol2_sigtramp_frame_prev_register,
NULL,
sparc64_sol2_sigtramp_frame_this_id,
sparc64_sol2_sigtramp_frame_prev_register,
NULL,
@@
-179,6
+187,9
@@
sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Solaris has kernel-assisted single-stepping support. */
set_gdbarch_software_single_step (gdbarch, NULL);
/* Solaris has kernel-assisted single-stepping support. */
set_gdbarch_software_single_step (gdbarch, NULL);
+
+ /* How to print LWP PTIDs from core files. */
+ set_gdbarch_core_pid_to_str (gdbarch, sol2_core_pid_to_str);
}
\f
}
\f
This page took
0.044168 seconds
and
4
git commands to generate.