* breakpoint.c (do_enable_breakpoint): Use update_watchpoint for
[binutils-gdb.git] / gdb / nto-tdep.c
index bf321b86018e15f89378a269b84c6fb49c51079d..226ebcee0c7ec302faeb5452a4355f97ddeef2ad 100644 (file)
@@ -1,6 +1,6 @@
 /* nto-tdep.c - general QNX Neutrino target functionality.
 
-   Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    Contributed by QNX Software Systems Ltd.
 
@@ -107,14 +107,14 @@ nto_find_and_open_solib (char *solib, unsigned o_flags, char **temp_pathname)
 #define PATH_FMT "%s/lib:%s/usr/lib:%s/usr/photon/lib:%s/usr/photon/dll:%s/lib/dll"
 
   nto_root = nto_target ();
-  if (strcmp (gdbarch_bfd_arch_info (current_gdbarch)->arch_name, "i386") == 0)
+  if (strcmp (gdbarch_bfd_arch_info (target_gdbarch)->arch_name, "i386") == 0)
     {
       arch = "x86";
       endian = "";
     }
-  else if (strcmp (gdbarch_bfd_arch_info (current_gdbarch)->arch_name,
+  else if (strcmp (gdbarch_bfd_arch_info (target_gdbarch)->arch_name,
                   "rs6000") == 0
-          || strcmp (gdbarch_bfd_arch_info (current_gdbarch)->arch_name,
+          || strcmp (gdbarch_bfd_arch_info (target_gdbarch)->arch_name,
                   "powerpc") == 0)
     {
       arch = "ppc";
@@ -122,8 +122,8 @@ nto_find_and_open_solib (char *solib, unsigned o_flags, char **temp_pathname)
     }
   else
     {
-      arch = gdbarch_bfd_arch_info (current_gdbarch)->arch_name;
-      endian = gdbarch_byte_order (current_gdbarch)
+      arch = gdbarch_bfd_arch_info (target_gdbarch)->arch_name;
+      endian = gdbarch_byte_order (target_gdbarch)
               == BFD_ENDIAN_BIG ? "be" : "le";
     }
 
@@ -169,14 +169,14 @@ nto_init_solib_absolute_prefix (void)
   const char *arch;
 
   nto_root = nto_target ();
-  if (strcmp (gdbarch_bfd_arch_info (current_gdbarch)->arch_name, "i386") == 0)
+  if (strcmp (gdbarch_bfd_arch_info (target_gdbarch)->arch_name, "i386") == 0)
     {
       arch = "x86";
       endian = "";
     }
-  else if (strcmp (gdbarch_bfd_arch_info (current_gdbarch)->arch_name,
+  else if (strcmp (gdbarch_bfd_arch_info (target_gdbarch)->arch_name,
                   "rs6000") == 0
-          || strcmp (gdbarch_bfd_arch_info (current_gdbarch)->arch_name,
+          || strcmp (gdbarch_bfd_arch_info (target_gdbarch)->arch_name,
                   "powerpc") == 0)
     {
       arch = "ppc";
@@ -184,8 +184,8 @@ nto_init_solib_absolute_prefix (void)
     }
   else
     {
-      arch = gdbarch_bfd_arch_info (current_gdbarch)->arch_name;
-      endian = gdbarch_byte_order (current_gdbarch)
+      arch = gdbarch_bfd_arch_info (target_gdbarch)->arch_name;
+      endian = gdbarch_byte_order (target_gdbarch)
               == BFD_ENDIAN_BIG ? "be" : "le";
     }
 
@@ -280,10 +280,10 @@ LM_ADDR (struct so_list *so)
   if (so->lm_info->l_addr == (CORE_ADDR)-1)
     {
       struct link_map_offsets *lmo = nto_fetch_link_map_offsets ();
+      struct type *ptr_type = builtin_type (target_gdbarch)->builtin_data_ptr;
 
       so->lm_info->l_addr =
-           extract_typed_address (so->lm_info->lm + lmo->l_addr_offset,
-                                  builtin_type_void_data_ptr);
+       extract_typed_address (so->lm_info->lm + lmo->l_addr_offset, ptr_type);
     }
   return so->lm_info->l_addr;
 }
@@ -291,12 +291,12 @@ LM_ADDR (struct so_list *so)
 static CORE_ADDR
 nto_truncate_ptr (CORE_ADDR addr)
 {
-  if (gdbarch_ptr_bit (current_gdbarch) == sizeof (CORE_ADDR) * 8)
+  if (gdbarch_ptr_bit (target_gdbarch) == sizeof (CORE_ADDR) * 8)
     /* We don't need to truncate anything, and the bit twiddling below
        will fail due to overflow problems.  */
     return addr;
   else
-    return addr & (((CORE_ADDR) 1 << gdbarch_ptr_bit (current_gdbarch)) - 1);
+    return addr & (((CORE_ADDR) 1 << gdbarch_ptr_bit (target_gdbarch)) - 1);
 }
 
 Elf_Internal_Phdr *