/* Target-dependent code for AMD64 Solaris.
- Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2019 Free Software Foundation, Inc.
Contributed by Joseph Myers, CodeSourcery, LLC.
#include "osabi.h"
#include "symtab.h"
-#include "gdb_string.h"
-
#include "sol2-tdep.h"
#include "amd64-tdep.h"
+#include "gdbsupport/x86-xstate.h"
#include "solib-svr4.h"
/* Mapping between the general-purpose registers in gregset_t format
1 * 8,
0 * 8, /* ... %r15 */
17 * 8, /* %rip */
- 16 * 8, /* %eflags */
+ 19 * 8, /* %eflags */
18 * 8, /* %cs */
21 * 8, /* %ss */
25 * 8, /* %ds */
amd64_sol2_sigtramp_p (struct frame_info *this_frame)
{
CORE_ADDR pc = get_frame_pc (this_frame);
- char *name;
+ const char *name;
find_pc_partial_function (pc, &name, NULL, NULL);
return (name && (strcmp ("sigacthandler", name) == 0
- || strcmp (name, "ucbsigvechandler") == 0));
+ || strcmp (name, "ucbsigvechandler") == 0
+ || strcmp (name, "__sighndlr") == 0));
}
/* Solaris doesn't have a 'struct sigcontext', but it does have a
tdep->gregset_num_regs = ARRAY_SIZE (amd64_sol2_gregset_reg_offset);
tdep->sizeof_gregset = 28 * 8;
- amd64_init_abi (info, gdbarch);
+ amd64_init_abi (info, gdbarch,
+ amd64_target_description (X86_XSTATE_SSE_MASK, true));
tdep->sigtramp_p = amd64_sol2_sigtramp_p;
tdep->sigcontext_addr = amd64_sol2_mcontext_addr;
/* How to print LWP PTIDs from core files. */
set_gdbarch_core_pid_to_str (gdbarch, sol2_core_pid_to_str);
}
-\f
-
-/* Provide a prototype to silence -Wmissing-prototypes. */
-extern void _initialize_amd64_sol2_tdep (void);
void
_initialize_amd64_sol2_tdep (void)