Update ISA 3.0 / POWER9 gdb tests to match GAS test cases.
[deliverable/binutils-gdb.git] / gdb / amd64-windows-tdep.c
index 8b6e52bb6d82804ea949c074a2a33c5d23b28f6e..1bec6deb92d659b6e98abc00cbc1b3442d4cbb4c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -488,6 +488,7 @@ amd64_windows_frame_decode_epilogue (struct frame_info *this_frame,
 
          cache->prev_reg_addr[amd64_windows_w2gdb_regnum[reg]] = cur_sp;
          cur_sp += 8;
+         pc += rex ? 2 : 1;
        }
       else
        break;
@@ -594,8 +595,6 @@ amd64_windows_frame_decode_epilogue (struct frame_info *this_frame,
        {
          /* rex jmp reg  */
          gdb_byte op1;
-         unsigned int reg;
-         gdb_byte buf[8];
 
          if (target_read_memory (pc + 2, &op1, 1) != 0)
            return -1;
@@ -647,7 +646,6 @@ amd64_windows_frame_decode_insns (struct frame_info *this_frame,
         address is odd (http://www.codemachine.com/article_x64deepdive.html).
       */
       struct external_pex64_runtime_function d;
-      CORE_ADDR sa, ea;
 
       if (target_read_memory (cache->image_base + (unwind_info & ~1),
                              (gdb_byte *) &d, sizeof (d)) != 0)
@@ -670,7 +668,6 @@ amd64_windows_frame_decode_insns (struct frame_info *this_frame,
       gdb_byte *end_insns;
       unsigned char codes_count;
       unsigned char frame_reg;
-      unsigned char frame_off;
       CORE_ADDR start;
 
       /* Read and decode header.  */
@@ -1015,17 +1012,11 @@ amd64_windows_frame_cache (struct frame_info *this_frame, void **this_cache)
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   struct amd64_windows_frame_cache *cache;
   gdb_byte buf[8];
-  struct obj_section *sec;
-  pe_data_type *pe;
-  IMAGE_DATA_DIRECTORY *dir;
-  CORE_ADDR image_base;
   CORE_ADDR pc;
-  struct objfile *objfile;
-  unsigned long lo, hi;
   CORE_ADDR unwind_info = 0;
 
   if (*this_cache)
-    return *this_cache;
+    return (struct amd64_windows_frame_cache *) *this_cache;
 
   cache = FRAME_OBSTACK_ZALLOC (struct amd64_windows_frame_cache);
   *this_cache = cache;
@@ -1064,10 +1055,8 @@ amd64_windows_frame_prev_register (struct frame_info *this_frame,
                                   void **this_cache, int regnum)
 {
   struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   struct amd64_windows_frame_cache *cache =
     amd64_windows_frame_cache (this_frame, this_cache);
-  struct value *val;
   CORE_ADDR prev;
 
   if (frame_debug)
@@ -1113,7 +1102,6 @@ static void
 amd64_windows_frame_this_id (struct frame_info *this_frame, void **this_cache,
                   struct frame_id *this_id)
 {
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   struct amd64_windows_frame_cache *cache =
     amd64_windows_frame_cache (this_frame, this_cache);
 
@@ -1221,8 +1209,6 @@ amd64_windows_auto_wide_charset (void)
 static void
 amd64_windows_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
   /* The dwarf2 unwinder (appended very early by i386_gdbarch_init) is
      preferred over the SEH one.  The reasons are:
      - binaries without SEH but with dwarf2 debug info are correcly handled
This page took 0.024521 seconds and 4 git commands to generate.