Forget watchpoint locations when inferior exits or is killed/detached
[deliverable/binutils-gdb.git] / gdb / amd64-sol2-tdep.c
index 86ae23e5fb129fcc0d5d9b86ae215bc6d92c11f3..42a9d15e408d6a34f8a0d5e1ffb86fc807da8711 100644 (file)
@@ -1,7 +1,6 @@
 /* Target-dependent code for AMD64 Solaris.
 
 /* Target-dependent code for AMD64 Solaris.
 
-   Copyright (C) 2001, 2002, 2003, 2004, 2006, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 2001-2016 Free Software Foundation, Inc.
 
    Contributed by Joseph Myers, CodeSourcery, LLC.
 
 
    Contributed by Joseph Myers, CodeSourcery, LLC.
 
@@ -9,7 +8,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -18,9 +17,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "frame.h"
 
 #include "defs.h"
 #include "frame.h"
@@ -29,8 +26,6 @@
 #include "osabi.h"
 #include "symtab.h"
 
 #include "osabi.h"
 #include "symtab.h"
 
-#include "gdb_string.h"
-
 #include "sol2-tdep.h"
 #include "amd64-tdep.h"
 #include "solib-svr4.h"
 #include "sol2-tdep.h"
 #include "amd64-tdep.h"
 #include "solib-svr4.h"
@@ -48,7 +43,7 @@ static int amd64_sol2_gregset_reg_offset[] = {
   8 * 8,                       /* %rdi */
   10 * 8,                      /* %rbp */
   20 * 8,                      /* %rsp */
   8 * 8,                       /* %rdi */
   10 * 8,                      /* %rbp */
   20 * 8,                      /* %rsp */
-  7 * 8,                       /* %r8 ... */
+  7 * 8,                       /* %r8 ...  */
   6 * 8,
   5 * 8,
   4 * 8,
   6 * 8,
   5 * 8,
   4 * 8,
@@ -57,7 +52,7 @@ static int amd64_sol2_gregset_reg_offset[] = {
   1 * 8,
   0 * 8,                       /* ... %r15 */
   17 * 8,                      /* %rip */
   1 * 8,
   0 * 8,                       /* ... %r15 */
   17 * 8,                      /* %rip */
-  16 * 8,                      /* %eflags */
+  19 * 8,                      /* %eflags */
   18 * 8,                      /* %cs */
   21 * 8,                      /* %ss */
   25 * 8,                      /* %ds */
   18 * 8,                      /* %cs */
   21 * 8,                      /* %ss */
   25 * 8,                      /* %ds */
@@ -67,14 +62,14 @@ static int amd64_sol2_gregset_reg_offset[] = {
 };
 \f
 
 };
 \f
 
-/* Return whether the frame preceding NEXT_FRAME corresponds to a
-   Solaris sigtramp routine.  */
+/* Return whether THIS_FRAME corresponds to a Solaris sigtramp
+   routine.  */
 
 static int
 
 static int
-amd64_sol2_sigtramp_p (struct frame_info *next_frame)
+amd64_sol2_sigtramp_p (struct frame_info *this_frame)
 {
 {
-  CORE_ADDR pc = frame_pc_unwind (next_frame);
-  char *name;
+  CORE_ADDR pc = get_frame_pc (this_frame);
+  const char *name;
 
   find_pc_partial_function (pc, &name, NULL, NULL);
   return (name && (strcmp ("sigacthandler", name) == 0
 
   find_pc_partial_function (pc, &name, NULL, NULL);
   return (name && (strcmp ("sigacthandler", name) == 0
@@ -85,12 +80,12 @@ amd64_sol2_sigtramp_p (struct frame_info *next_frame)
    'mcontext_t' that contains the saved set of machine registers.  */
 
 static CORE_ADDR
    'mcontext_t' that contains the saved set of machine registers.  */
 
 static CORE_ADDR
-amd64_sol2_mcontext_addr (struct frame_info *next_frame)
+amd64_sol2_mcontext_addr (struct frame_info *this_frame)
 {
   CORE_ADDR sp, ucontext_addr;
 
 {
   CORE_ADDR sp, ucontext_addr;
 
-  sp = frame_unwind_register_unsigned (next_frame, AMD64_RSP_REGNUM);
-  ucontext_addr = get_frame_memory_unsigned (next_frame, sp + 8, 8);
+  sp = get_frame_register_unsigned (this_frame, AMD64_RSP_REGNUM);
+  ucontext_addr = get_frame_memory_unsigned (this_frame, sp + 8, 8);
 
   return ucontext_addr + 72;
 }
 
   return ucontext_addr + 72;
 }
@@ -115,6 +110,9 @@ amd64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   set_gdbarch_skip_solib_resolver (gdbarch, sol2_skip_solib_resolver);
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_lp64_fetch_link_map_offsets);
   set_gdbarch_skip_solib_resolver (gdbarch, sol2_skip_solib_resolver);
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_lp64_fetch_link_map_offsets);
+
+  /* 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.024826 seconds and 4 git commands to generate.