gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / arm-wince-tdep.c
index 24f0e5b8935f0dc00a0ce47d6a5cd6052cd59591..5971b29bd596093a2159ff898348914a0493866c 100644 (file)
@@ -1,7 +1,7 @@
 /* Target-dependent code for Windows CE running on ARM processors,
    for GDB.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,6 +24,7 @@
 #include "target.h"
 #include "frame.h"
 
+#include "arch/arm.h"
 #include "arm-tdep.h"
 #include "windows-tdep.h"
 
@@ -31,7 +32,7 @@ static const gdb_byte arm_wince_le_breakpoint[] = { 0x10, 0x00, 0x00, 0xe6 };
 static const gdb_byte arm_wince_thumb_le_breakpoint[] = { 0xfe, 0xdf };
 
 /* Description of the longjmp buffer.  */
-#define ARM_WINCE_JB_ELEMENT_SIZE      INT_REGISTER_SIZE
+#define ARM_WINCE_JB_ELEMENT_SIZE      ARM_INT_REGISTER_SIZE
 #define ARM_WINCE_JB_PC                        10
 
 static CORE_ADDR
@@ -45,9 +46,12 @@ arm_pe_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
   CORE_ADDR next_pc;
 
   /* The format of an ARM DLL trampoline is:
+
        ldr  ip, [pc]
        ldr  pc, [ip]
-       .dw __imp_<func>  */
+       .dw __imp_<func>
+
+  */
 
   if (pc == 0
       || read_memory_unsigned_integer (pc + 0, 4, byte_order) != 0xe59fc000
@@ -62,8 +66,8 @@ arm_pe_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
   if (indsym.minsym == NULL)
     return 0;
 
-  symname = MSYMBOL_LINKAGE_NAME (indsym.minsym);
-  if (symname == NULL || strncmp (symname, "__imp_", 6) != 0)
+  symname = indsym.minsym->linkage_name ();
+  if (symname == NULL || !startswith (symname, "__imp_"))
     return 0;
 
   next_pc = read_memory_unsigned_integer (indirect, 4, byte_order);
@@ -100,8 +104,8 @@ arm_wince_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
       struct bound_minimal_symbol s = lookup_minimal_symbol_by_pc (call_dest);
 
       if (s.minsym != NULL
-         && MSYMBOL_LINKAGE_NAME (s.minsym) != NULL
-         && strcmp (MSYMBOL_LINKAGE_NAME (s.minsym), "__gccmain") == 0)
+         && s.minsym->linkage_name () != NULL
+         && strcmp (s.minsym->linkage_name (), "__gccmain") == 0)
        pc += 4;
     }
 
@@ -150,11 +154,9 @@ arm_wince_osabi_sniffer (bfd *abfd)
   return GDB_OSABI_UNKNOWN;
 }
 
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-void _initialize_arm_wince_tdep (void);
-
+void _initialize_arm_wince_tdep ();
 void
-_initialize_arm_wince_tdep (void)
+_initialize_arm_wince_tdep ()
 {
   gdbarch_register_osabi_sniffer (bfd_arch_arm, bfd_target_coff_flavour,
                                   arm_wince_osabi_sniffer);
This page took 0.026797 seconds and 4 git commands to generate.