* h8300-dis.c: Fix formatting.
[binutils-gdb.git] / gdb / utils.c
index f5088aff82d51b90564e832b0254083afde8f5d3..b3a3ad9866d4651f134d2a9d3502d2abaf2903b4 100644 (file)
@@ -50,6 +50,8 @@
 #include "language.h"
 #include "annotate.h"
 
+#include "inferior.h" /* for signed_pointer_to_address */
+
 #include <readline/readline.h>
 
 #undef XMALLOC
@@ -2962,3 +2964,24 @@ phex_nz (ULONGEST l, int sizeof_l)
     }
   return str;
 }
+
+
+/* Convert to / from the hosts pointer to GDB's internal CORE_ADDR
+   using the target's conversion routines. */
+CORE_ADDR
+host_pointer_to_address (void *ptr)
+{
+  if (sizeof (ptr) != TYPE_LENGTH (builtin_type_ptr))
+    internal_error ("core_addr_to_void_ptr: bad cast");
+  return POINTER_TO_ADDRESS (builtin_type_ptr, &ptr);
+}
+
+void *
+address_to_host_pointer (CORE_ADDR addr)
+{
+  void *ptr;
+  if (sizeof (ptr) != TYPE_LENGTH (builtin_type_ptr))
+    internal_error ("core_addr_to_void_ptr: bad cast");
+  ADDRESS_TO_POINTER (builtin_type_ptr, &ptr, addr);
+  return ptr;
+}