This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[rfc]: Macros in gdbtypes


Hi,

in gdbtypes.h are some macros based on current_gdbarch (eg. builtin_type_void_data_ptr). This patch
replaces builtin_type_void_data_ptr by its definition in the source tree and then replaces current_gdbarch
by appropriate methods were possible.

This patch is **NOT** tested and shall no be committed right now.

Before proceeding I want to hear from you if that's a way to go for those macros or if you would prefer s.th. else to get rid
of the current_gdbarch's in gdbtypes.h

Thanks a lot for your effort.

ChangeLog:

	* target-descriptions.c (tdesc_register_type): Replace
	builtin_type_void_data_ptr by its expression. Replace current_gdbarch
	by gdbarch.
	* target.c (default_region_ok_for_hw_watchpoint): Likewise.
	* std-regs (value_of_builtin_frame_fp_reg)
	(value_of_builtin_frame_pc_reg): Likewise.
	* spu-tdep.c (spu_register_type): Likewise.
	* sparc-tdep.c (sparc32_register_type): Likewise.
	* sparc64-tdep.c (sparc64_register_type): Likewise.
	* mips-tdep.c (mips_pseudo_register_type): Likewise.
	* m88k-tdep.c (m88k_register_type): Likewise.
	* m68k-tdep.c (m68k_register_type): Likewise.
	* m32r-tdep.c (m32r_register_type): Likewise.
	* i386-tdep.c (i386_get_longjmp_target, i386_register_type): Likewise.
	* h8300-tdep.c (h8300_register_type): Likewise.
	* gnu-v3-abi.c (gnuv3_baseclass_offset, gnuv3_method_ptr_size)
	(gnuv3_make_method_ptr, gnuv3_method_ptr_to_value): Likewise.
	* cris-tdep.c (cris_register_type, crisv32_register_type): Likewise.
	* bsd-uthread.c (bsd_uthread_fetch_registers)
	(bsd_uthread_wait, bsd_uthread_find_new_threads): Likewise.
	* arm-tdep.c (arm_register_type): Likewise.
	* amd64-tdep.c (amd64_register_type): Likewise.
	* alpha-tdep.c (alpha_cannot_store_register): Likewise.

	* solib-svr4.c (LM_ADDR_FROM_LINK_MAP, LM_DYNAMIC_FROM_LINK_MAP)
	(LM_NEXT, LM_NAME, IGNORE_FIRST_LINK_MAP_ENTRY, scan_dyntag)
	(solib_svr4_r_map, solib_svr4_r_ldsomap, open_symbol_file_object)
	(svr4_fetch_objfile_link_map): Replace builtin_type_void_data_ptr by
	its expression.
	* procfs.c (procfs_address_to_host_pointer
	(procfs_can_use_hw_breakpoint): Likewise.
	* objc-lang.c (print_object_command): Likewise.
	* f-valprint.c (f77_get_dynamic_lowerbound)
	(f77_get_dynamic_upperbound): Likewise.
	* dwarf2loc.c (dwarf_expr_read_reg): Likewise.
	* dwarf2-frame.c (size_of_encoded_value)
	(decode_frame_entry_1): Likewise.
	* avr-tdep.c (avr_register_type): Likewise.
	* auxv.c (target_auxv_parse): Likewise.
	* ada-valprint.c (ada_val_print_1): Likewise.

* gdbtypes.h (builtin_type_void_data_ptr): Remove.


-- Markus Deuling GNU Toolchain for Linux on Cell BE deuling@de.ibm.com

diff -urpN src/gdb/ada-valprint.c dev2/gdb/ada-valprint.c
--- src/gdb/ada-valprint.c	2007-08-23 20:08:25.000000000 +0200
+++ dev2/gdb/ada-valprint.c	2007-11-05 13:19:49.000000000 +0100
@@ -727,7 +727,9 @@ ada_val_print_1 (struct type *type, cons
               type_print (type, "", stream, -1);
               fprintf_filtered (stream, ") ");
               deprecated_print_address_numeric 
-		(extract_typed_address (valaddr, builtin_type_void_data_ptr),
+		(extract_typed_address (valaddr,
+				        builtin_type (current_gdbarch)
+					  ->builtin_data_ptr),
                  1, stream);
             }
 	  else
diff -urpN src/gdb/alpha-tdep.c dev2/gdb/alpha-tdep.c
--- src/gdb/alpha-tdep.c	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/alpha-tdep.c	2007-11-05 13:18:54.000000000 +0100
@@ -94,7 +94,7 @@ static struct type *
 alpha_register_type (struct gdbarch *gdbarch, int regno)
 {
   if (regno == ALPHA_SP_REGNUM || regno == ALPHA_GP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   if (regno == ALPHA_PC_REGNUM)
     return builtin_type_void_func_ptr;
 
diff -urpN src/gdb/amd64-tdep.c dev2/gdb/amd64-tdep.c
--- src/gdb/amd64-tdep.c	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/amd64-tdep.c	2007-11-05 13:18:00.000000000 +0100
@@ -90,7 +90,7 @@ amd64_register_type (struct gdbarch *gdb
   if (regnum >= AMD64_RAX_REGNUM && regnum <= AMD64_RDI_REGNUM)
     return builtin_type_int64;
   if (regnum == AMD64_RBP_REGNUM || regnum == AMD64_RSP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   if (regnum >= AMD64_R8_REGNUM && regnum <= AMD64_R15_REGNUM)
     return builtin_type_int64;
   if (regnum == AMD64_RIP_REGNUM)
diff -urpN src/gdb/arm-tdep.c dev2/gdb/arm-tdep.c
--- src/gdb/arm-tdep.c	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/arm-tdep.c	2007-11-05 13:17:27.000000000 +0100
@@ -1415,7 +1415,7 @@ arm_register_type (struct gdbarch *gdbar
   if (regnum >= ARM_F0_REGNUM && regnum < ARM_F0_REGNUM + NUM_FREGS)
     return builtin_type_arm_ext;
   else if (regnum == ARM_SP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   else if (regnum == ARM_PC_REGNUM)
     return builtin_type_void_func_ptr;
   else if (regnum >= ARRAY_SIZE (arm_register_names))
diff -urpN src/gdb/auxv.c dev2/gdb/auxv.c
--- src/gdb/auxv.c	2007-08-23 20:08:26.000000000 +0200
+++ dev2/gdb/auxv.c	2007-11-05 13:16:58.000000000 +0100
@@ -82,7 +82,8 @@ int
 target_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
 		   gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
 {
-  const int sizeof_auxv_field = TYPE_LENGTH (builtin_type_void_data_ptr);
+  const int sizeof_auxv_field
+     = TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
   gdb_byte *ptr = *readptr;
 
   if (endptr == ptr)
diff -urpN src/gdb/avr-tdep.c dev2/gdb/avr-tdep.c
--- src/gdb/avr-tdep.c	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/avr-tdep.c	2007-11-05 13:16:16.000000000 +0100
@@ -213,7 +213,7 @@ avr_register_type (struct gdbarch *gdbar
   if (reg_nr == AVR_PC_REGNUM)
     return builtin_type_uint32;
   if (reg_nr == AVR_SP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   else
     return builtin_type_uint8;
 }
diff -urpN src/gdb/bsd-uthread.c dev2/gdb/bsd-uthread.c
--- src/gdb/bsd-uthread.c	2007-10-31 05:54:46.000000000 +0100
+++ dev2/gdb/bsd-uthread.c	2007-11-05 13:15:27.000000000 +0100
@@ -280,7 +280,8 @@ bsd_uthread_fetch_registers (struct regc
   regnum = -1;
 
   active_addr = read_memory_typed_address (bsd_uthread_thread_run_addr,
-					   builtin_type_void_data_ptr);
+					   builtin_type (gdbarch)
+					     ->builtin_data_ptr);
   if (addr != 0 && addr != active_addr)
     {
       bsd_uthread_check_magic (addr);
@@ -298,7 +299,8 @@ bsd_uthread_store_registers (struct regc
   CORE_ADDR active_addr;
 
   active_addr = read_memory_typed_address (bsd_uthread_thread_run_addr,
-					   builtin_type_void_data_ptr);
+					   builtin_type (gdbarch)
+					     ->builtin_data_ptr);
   if (addr != 0 && addr != active_addr)
     {
       bsd_uthread_check_magic (addr);
@@ -344,7 +346,8 @@ bsd_uthread_wait (ptid_t ptid, struct ta
   /* Fetch the corresponding thread ID, and augment the returned
      process ID with it.  */
   addr = read_memory_typed_address (bsd_uthread_thread_run_addr,
-				    builtin_type_void_data_ptr);
+				    builtin_type (current_gdbarch)
+				      ->builtin_data_ptr);
   if (addr != 0)
     {
       gdb_byte buf[4];
@@ -408,7 +411,8 @@ bsd_uthread_find_new_threads (void)
   CORE_ADDR addr;
 
   addr = read_memory_typed_address (bsd_uthread_thread_list_addr,
-				    builtin_type_void_data_ptr);
+				    builtin_type (current_gdbarch)
+				      ->builtin_data_ptr);
   while (addr != 0)
     {
       ptid_t ptid = ptid_build (pid, 0, addr);
@@ -417,7 +421,8 @@ bsd_uthread_find_new_threads (void)
 	add_thread (ptid);
 
       addr = read_memory_typed_address (addr + offset,
-					builtin_type_void_data_ptr);
+					builtin_type (current_gdbarch)
+					  ->builtin_data_ptr);
     }
 }
 
diff -urpN src/gdb/cris-tdep.c dev2/gdb/cris-tdep.c
--- src/gdb/cris-tdep.c	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/cris-tdep.c	2007-11-05 13:13:48.000000000 +0100
@@ -1680,7 +1680,7 @@ cris_register_type (struct gdbarch *gdba
     return builtin_type_void_func_ptr;
   else if (regno == gdbarch_sp_regnum (gdbarch)
 	   || regno == CRIS_FP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   else if ((regno >= 0 && regno < gdbarch_sp_regnum (gdbarch))
 	   || (regno >= MOF_REGNUM && regno <= USP_REGNUM))
     /* Note: R8 taken care of previous clause.  */
@@ -1701,7 +1701,7 @@ crisv32_register_type (struct gdbarch *g
     return builtin_type_void_func_ptr;
   else if (regno == gdbarch_sp_regnum (gdbarch)
 	   || regno == CRIS_FP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   else if ((regno >= 0 && regno <= ACR_REGNUM)
 	   || (regno >= EXS_REGNUM && regno <= SPC_REGNUM)
 	   || (regno == PID_REGNUM)
diff -urpN src/gdb/dwarf2-frame.c dev2/gdb/dwarf2-frame.c
--- src/gdb/dwarf2-frame.c	2007-10-08 14:46:09.000000000 +0200
+++ dev2/gdb/dwarf2-frame.c	2007-11-05 13:13:05.000000000 +0100
@@ -1414,7 +1414,7 @@ size_of_encoded_value (gdb_byte encoding
   switch (encoding & 0x07)
     {
     case DW_EH_PE_absptr:
-      return TYPE_LENGTH (builtin_type_void_data_ptr);
+      return TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
     case DW_EH_PE_udata2:
       return 2;
     case DW_EH_PE_udata4:
@@ -1699,7 +1699,7 @@ decode_frame_entry_1 (struct comp_unit *
       if (augmentation[0] == 'e' && augmentation[1] == 'h')
 	{
 	  /* Skip.  */
-	  buf += TYPE_LENGTH (builtin_type_void_data_ptr);
+	  buf += TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
 	  augmentation += 2;
 	}
 
diff -urpN src/gdb/dwarf2loc.c dev2/gdb/dwarf2loc.c
--- src/gdb/dwarf2loc.c	2007-10-08 14:46:09.000000000 +0200
+++ dev2/gdb/dwarf2loc.c	2007-11-05 13:12:15.000000000 +0100
@@ -119,7 +119,8 @@ dwarf_expr_read_reg (void *baton, int dw
   int regnum;
 
   regnum = gdbarch_dwarf2_reg_to_regnum (current_gdbarch, dwarf_regnum);
-  result = address_from_register (builtin_type_void_data_ptr,
+  result = address_from_register (builtin_type (current_gdbarch)
+				    ->builtin_data_ptr,
 				  regnum, debaton->frame);
   return result;
 }
diff -urpN src/gdb/f-valprint.c dev2/gdb/f-valprint.c
--- src/gdb/f-valprint.c	2007-08-23 20:08:31.000000000 +0200
+++ dev2/gdb/f-valprint.c	2007-11-05 13:11:19.000000000 +0100
@@ -102,7 +102,8 @@ f77_get_dynamic_lowerbound (struct type 
 	  ptr_to_lower_bound =
 	    read_memory_typed_address (current_frame_addr +
 				       TYPE_ARRAY_LOWER_BOUND_VALUE (type),
-				       builtin_type_void_data_ptr);
+				       builtin_type (current_gdbarch)
+					 ->builtin_data_ptr);
 	  *lower_bound = read_memory_integer (ptr_to_lower_bound, 4);
 	}
       else
@@ -168,7 +169,8 @@ f77_get_dynamic_upperbound (struct type 
 	  ptr_to_upper_bound =
 	    read_memory_typed_address (current_frame_addr +
 				       TYPE_ARRAY_UPPER_BOUND_VALUE (type),
-				       builtin_type_void_data_ptr);
+				       builtin_type (current_gdbarch)
+					 ->builtin_data_ptr);
 	  *upper_bound = read_memory_integer (ptr_to_upper_bound, 4);
 	}
       else
diff -urpN src/gdb/gdbtypes.h dev2/gdb/gdbtypes.h
--- src/gdb/gdbtypes.h	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/gdbtypes.h	2007-11-05 13:19:57.000000000 +0100
@@ -1025,8 +1025,6 @@ struct builtin_type
 extern const struct builtin_type *builtin_type (struct gdbarch *gdbarch);
 
 /* Compatibility macros to access types for the current architecture.  */
-#define builtin_type_void_data_ptr \
-	(builtin_type (current_gdbarch)->builtin_data_ptr)
 #define builtin_type_void_func_ptr \
 	(builtin_type (current_gdbarch)->builtin_func_ptr)
 #define builtin_type_CORE_ADDR \
Binary files src/gdb/.gdbtypes.h.swp and dev2/gdb/.gdbtypes.h.swp differ
diff -urpN src/gdb/gnu-v3-abi.c dev2/gdb/gnu-v3-abi.c
--- src/gdb/gnu-v3-abi.c	2007-09-23 18:25:05.000000000 +0200
+++ dev2/gdb/gnu-v3-abi.c	2007-11-05 13:09:48.000000000 +0100
@@ -376,8 +376,8 @@ static int
 gnuv3_baseclass_offset (struct type *type, int index, const bfd_byte *valaddr,
 			CORE_ADDR address)
 {
-  struct type *vtable_type = gdbarch_data (current_gdbarch,
-					   vtable_type_gdbarch_data);
+  struct gdbarch *gdbarch = current_gdbarch;
+  struct type *vtable_type = gdbarch_data (gdbarch, vtable_type_gdbarch_data);
   struct value *vtable;
   struct type *vbasetype;
   struct value *offset_val, *vbase_array;
@@ -399,10 +399,11 @@ gnuv3_baseclass_offset (struct type *typ
     error (_("Expected a negative vbase offset (old compiler?)"));
 
   cur_base_offset = cur_base_offset + vtable_address_point_offset ();
-  if ((- cur_base_offset) % TYPE_LENGTH (builtin_type_void_data_ptr) != 0)
+  if ((- cur_base_offset)
+      % TYPE_LENGTH (builtin_type (gdbarch)->builtin_data_ptr) != 0)
     error (_("Misaligned vbase offset."));
   cur_base_offset = cur_base_offset
-    / ((int) TYPE_LENGTH (builtin_type_void_data_ptr));
+    / ((int) TYPE_LENGTH (builtin_type (gdbarch)->builtin_data_ptr));
 
   /* We're now looking for the cur_base_offset'th entry (negative index)
      in the vcall_and_vbase_offsets array.  We used to cast the object to
@@ -424,8 +425,9 @@ gnuv3_baseclass_offset (struct type *typ
     error (_("Illegal vptr offset in class %s"),
 	   TYPE_NAME (vbasetype) ? TYPE_NAME (vbasetype) : "<unknown>");
 
-  vtable_address = value_as_address (value_at_lazy (builtin_type_void_data_ptr,
-						    address));
+  vtable_address
+    = value_as_address (value_at_lazy (builtin_type (gdbarch)->builtin_data_ptr,
+				       address));
   vtable = value_at_lazy (vtable_type,
                           vtable_address - vtable_address_point_offset ());
   offset_val = value_from_longest(builtin_type_int, cur_base_offset);
@@ -576,7 +578,7 @@ gnuv3_print_method_ptr (const gdb_byte *
 static int
 gnuv3_method_ptr_size (void)
 {
-  return 2 * TYPE_LENGTH (builtin_type_void_data_ptr);
+  return 2 * TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
 }
 
 /* GNU v3 implementation of cplus_make_method_ptr.  */
@@ -584,7 +586,7 @@ gnuv3_method_ptr_size (void)
 static void
 gnuv3_make_method_ptr (gdb_byte *contents, CORE_ADDR value, int is_virtual)
 {
-  int size = TYPE_LENGTH (builtin_type_void_data_ptr);
+  int size = TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
 
   /* FIXME drow/2006-12-24: The adjustment of "this" is currently
      always zero, since the method pointer is of the correct type.
@@ -659,7 +661,8 @@ gnuv3_method_ptr_to_value (struct value 
 
      You can provoke this case by casting a Base::* to a Derived::*, for
      instance.  */
-  *this_p = value_cast (builtin_type_void_data_ptr, *this_p);
+  *this_p
+    = value_cast (builtin_type (current_gdbarch)->builtin_data_ptr, *this_p);
   adjval = value_from_longest (builtin_type_long, adjustment);
   *this_p = value_add (*this_p, adjval);
   *this_p = value_cast (final_type, *this_p);
diff -urpN src/gdb/h8300-tdep.c dev2/gdb/h8300-tdep.c
--- src/gdb/h8300-tdep.c	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/h8300-tdep.c	2007-11-05 13:06:10.000000000 +0100
@@ -1134,7 +1134,7 @@ h8300_register_type (struct gdbarch *gdb
 	  return builtin_type_void_func_ptr;
 	case E_SP_REGNUM:
 	case E_FP_REGNUM:
-	  return builtin_type_void_data_ptr;
+	  return builtin_type (gdbarch)->builtin_data_ptr;
 	default:
 	  if (regno == E_PSEUDO_CCR_REGNUM)
 	    return builtin_type_uint8;
diff -urpN src/gdb/i386-tdep.c dev2/gdb/i386-tdep.c
--- src/gdb/i386-tdep.c	2007-11-05 05:32:21.000000000 +0100
+++ dev2/gdb/i386-tdep.c	2007-11-05 13:05:34.000000000 +0100
@@ -1268,7 +1268,8 @@ i386_get_longjmp_target (struct frame_in
 {
   gdb_byte buf[8];
   CORE_ADDR sp, jb_addr;
-  int jb_pc_offset = gdbarch_tdep (get_frame_arch (frame))->jb_pc_offset;
+  struct gdbarch *gdbarch = get_frame_arch (frame);
+  int jb_pc_offset = gdbarch_tdep (gdbarch)->jb_pc_offset;
   int len = TYPE_LENGTH (builtin_type_void_func_ptr);
 
   /* If JB_PC_OFFSET is -1, we have no way to find out where the
@@ -1278,12 +1279,13 @@ i386_get_longjmp_target (struct frame_in
 
   /* Don't use I386_ESP_REGNUM here, since this function is also used
      for AMD64.  */
-  get_frame_register (frame, gdbarch_sp_regnum (get_frame_arch (frame)), buf);
-  sp = extract_typed_address (buf, builtin_type_void_data_ptr);
+  get_frame_register (frame, gdbarch_sp_regnum (gdbarch), buf);
+  sp = extract_typed_address (buf, builtin_type (gdbarch)->builtin_data_ptr);
   if (target_read_memory (sp + len, buf, len))
     return 0;
 
-  jb_addr = extract_typed_address (buf, builtin_type_void_data_ptr);
+  jb_addr = extract_typed_address (buf,
+				   builtin_type (gdbarch)->builtin_data_ptr);
   if (target_read_memory (jb_addr + jb_pc_offset, buf, len))
     return 0;
 
@@ -1738,7 +1740,7 @@ i386_register_type (struct gdbarch *gdba
     return i386_eflags_type;
 
   if (regnum == I386_EBP_REGNUM || regnum == I386_ESP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
 
   if (i386_fp_regnum_p (regnum))
     return builtin_type_i387_ext;
diff -urpN src/gdb/m32r-tdep.c dev2/gdb/m32r-tdep.c
--- src/gdb/m32r-tdep.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/m32r-tdep.c	2007-11-05 13:03:42.000000000 +0100
@@ -231,7 +231,7 @@ m32r_register_type (struct gdbarch *gdba
   if (reg_nr == M32R_PC_REGNUM)
     return builtin_type_void_func_ptr;
   else if (reg_nr == M32R_SP_REGNUM || reg_nr == M32R_FP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (current_gdbarch)->builtin_data_ptr;
   else
     return builtin_type_int32;
 }
diff -urpN src/gdb/m68k-tdep.c dev2/gdb/m68k-tdep.c
--- src/gdb/m68k-tdep.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/m68k-tdep.c	2007-11-05 13:03:09.000000000 +0100
@@ -134,7 +134,7 @@ m68k_register_type (struct gdbarch *gdba
     return builtin_type_void_func_ptr;
 
   if (regnum >= M68K_A0_REGNUM && regnum <= M68K_A0_REGNUM + 7)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
 
   if (regnum == M68K_PS_REGNUM)
     return m68k_ps_type;
diff -urpN src/gdb/m88k-tdep.c dev2/gdb/m88k-tdep.c
--- src/gdb/m88k-tdep.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/m88k-tdep.c	2007-11-05 13:02:24.000000000 +0100
@@ -79,7 +79,7 @@ m88k_register_type (struct gdbarch *gdba
 
   /* R30 and R31 typically contains data addresses.  */
   if (regnum == M88K_R30_REGNUM || regnum == M88K_R31_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
 
   return builtin_type_int32;
 }
diff -urpN src/gdb/mips-tdep.c dev2/gdb/mips-tdep.c
--- src/gdb/mips-tdep.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/mips-tdep.c	2007-11-05 13:00:50.000000000 +0100
@@ -809,10 +809,11 @@ mips_pseudo_register_type (struct gdbarc
 
   /* Use pointer types for registers if we can.  For n32 we can not,
      since we do not have a 64-bit pointer type.  */
-  if (mips_abi_regsize (gdbarch) == TYPE_LENGTH (builtin_type_void_data_ptr))
+  if (mips_abi_regsize (gdbarch)
+      == TYPE_LENGTH (builtin_type (gdbarch)->builtin_data_ptr))
     {
       if (rawnum == MIPS_SP_REGNUM || rawnum == MIPS_EMBED_BADVADDR_REGNUM)
-	return builtin_type_void_data_ptr;
+	return builtin_type (gdbarch)->builtin_data_ptr;
       else if (rawnum == MIPS_EMBED_PC_REGNUM)
 	return builtin_type_void_func_ptr;
     }
diff -urpN src/gdb/objc-lang.c dev2/gdb/objc-lang.c
--- src/gdb/objc-lang.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/objc-lang.c	2007-11-05 12:59:54.000000000 +0100
@@ -1524,7 +1524,8 @@ print_object_command (char *args, int fr
     int pc = 0;
 
     object = expr->language_defn->la_exp_desc->evaluate_exp 
-      (builtin_type_void_data_ptr, expr, &pc, EVAL_NORMAL);
+      (builtin_type (current_gdbarch)->builtin_data_ptr,
+       expr, &pc, EVAL_NORMAL);
     do_cleanups (old_chain);
   }
 
diff -urpN src/gdb/procfs.c dev2/gdb/procfs.c
--- src/gdb/procfs.c	2007-08-23 20:08:36.000000000 +0200
+++ dev2/gdb/procfs.c	2007-11-05 12:58:37.000000000 +0100
@@ -2844,8 +2844,11 @@ procfs_address_to_host_pointer (CORE_ADD
 {
   void *ptr;
 
-  gdb_assert (sizeof (ptr) == TYPE_LENGTH (builtin_type_void_data_ptr));
-  gdbarch_address_to_pointer (current_gdbarch, builtin_type_void_data_ptr,
+  gdb_assert (sizeof (ptr)
+	      == TYPE_LENGTH (builtin_type (current_gdbarch)
+				->builtin_data_ptr));
+  gdbarch_address_to_pointer (current_gdbarch,
+			      builtin_type (current_gdbarch)->builtin_data_ptr,
 			      &ptr, addr);
   return ptr;
 }
@@ -5270,7 +5273,8 @@ procfs_can_use_hw_breakpoint (int type, 
      procfs_address_to_host_pointer will reveal that an internal error
      will be generated when the host and target pointer sizes are
      different.  */
-  if (sizeof (void *) != TYPE_LENGTH (builtin_type_void_data_ptr))
+  if (sizeof (void *)
+      != TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr))
     return 0;
 
   /* Other tests here???  */
diff -urpN src/gdb/solib-svr4.c dev2/gdb/solib-svr4.c
--- src/gdb/solib-svr4.c	2007-10-24 23:22:08.000000000 +0200
+++ dev2/gdb/solib-svr4.c	2007-11-05 12:56:39.000000000 +0100
@@ -111,7 +111,8 @@ LM_ADDR_FROM_LINK_MAP (struct so_list *s
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
 
   return extract_typed_address (so->lm_info->lm + lmo->l_addr_offset,
-				builtin_type_void_data_ptr);
+				builtin_type (current_gdbarch)
+				  ->builtin_data_ptr);
 }
 
 static int
@@ -128,7 +129,8 @@ LM_DYNAMIC_FROM_LINK_MAP (struct so_list
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
 
   return extract_typed_address (so->lm_info->lm + lmo->l_ld_offset,
-				builtin_type_void_data_ptr);
+				builtin_type (current_gdbarch)
+				  ->builtin_data_ptr);
 }
 
 static CORE_ADDR
@@ -207,7 +209,8 @@ LM_NEXT (struct so_list *so)
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
 
   return extract_typed_address (so->lm_info->lm + lmo->l_next_offset,
-				builtin_type_void_data_ptr);
+				builtin_type (current_gdbarch)
+				  ->builtin_data_ptr);
 }
 
 static CORE_ADDR
@@ -216,7 +219,8 @@ LM_NAME (struct so_list *so)
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
 
   return extract_typed_address (so->lm_info->lm + lmo->l_name_offset,
-				builtin_type_void_data_ptr);
+				builtin_type (current_gdbarch)
+				  ->builtin_data_ptr);
 }
 
 static int
@@ -230,7 +234,8 @@ IGNORE_FIRST_LINK_MAP_ENTRY (struct so_l
     return 0;
 
   return extract_typed_address (so->lm_info->lm + lmo->l_prev_offset,
-				builtin_type_void_data_ptr) == 0;
+				builtin_type (current_gdbarch)
+				  ->builtin_data_ptr) == 0;
 }
 
 static CORE_ADDR debug_base;	/* Base of dynamic linker structures */
@@ -406,8 +411,9 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
 
 	     ptr_addr = dyn_addr + (buf - bufstart) + arch_size / 8;
 	     if (target_read_memory (ptr_addr, ptr_buf, arch_size / 8) == 0)
-	       dyn_ptr = extract_typed_address (ptr_buf,
-						builtin_type_void_data_ptr);
+	       dyn_ptr = extract_typed_address
+			   (ptr_buf,
+			    builtin_type (current_gdbarch)->builtin_data_ptr);
 	     *ptr = dyn_ptr;
 	   }
 	 return 1;
@@ -454,13 +460,15 @@ elf_locate_base (void)
   if (scan_dyntag (DT_MIPS_RLD_MAP, exec_bfd, &dyn_ptr))
     {
       gdb_byte *pbuf;
-      int pbuf_size = TYPE_LENGTH (builtin_type_void_data_ptr);
+      int pbuf_size
+	= TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
       pbuf = alloca (pbuf_size);
       /* DT_MIPS_RLD_MAP contains a pointer to the address
 	 of the dynamic link structure.  */
       if (target_read_memory (dyn_ptr, pbuf, pbuf_size))
 	return 0;
-      return extract_typed_address (pbuf, builtin_type_void_data_ptr);
+      return extract_typed_address
+	       (pbuf, builtin_type (current_gdbarch)->builtin_data_ptr);
     }
 
   /* Find DT_DEBUG.  */
@@ -545,7 +553,8 @@ solib_svr4_r_map (void)
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
 
   return read_memory_typed_address (debug_base + lmo->r_map_offset,
-				    builtin_type_void_data_ptr);
+				    builtin_type (current_gdbarch)
+				      ->builtin_data_ptr);
 }
 
 /* Find the link map for the dynamic linker (if it is not in the
@@ -565,7 +574,8 @@ solib_svr4_r_ldsomap (void)
     return 0;
 
   return read_memory_typed_address (debug_base + lmo->r_ldsomap_offset,
-				    builtin_type_void_data_ptr);
+				    builtin_type (current_gdbarch)
+				      ->builtin_data_ptr);
 }
 
 /*
@@ -598,7 +608,8 @@ open_symbol_file_object (void *from_ttyp
   int errcode;
   int from_tty = *(int *)from_ttyp;
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
-  int l_name_size = TYPE_LENGTH (builtin_type_void_data_ptr);
+  int l_name_size
+    = TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
   gdb_byte *l_name_buf = xmalloc (l_name_size);
   struct cleanup *cleanups = make_cleanup (xfree, l_name_buf);
 
@@ -618,7 +629,9 @@ open_symbol_file_object (void *from_ttyp
   read_memory (lm + lmo->l_name_offset, l_name_buf, l_name_size);
 
   /* Convert the address to host format.  */
-  l_name = extract_typed_address (l_name_buf, builtin_type_void_data_ptr);
+  l_name = extract_typed_address (l_name_buf,
+				  builtin_type (current_gdbarch)
+				    ->builtin_data_ptr);
 
   /* Free l_name_buf.  */
   do_cleanups (cleanups);
@@ -814,7 +827,8 @@ svr4_fetch_objfile_link_map (struct objf
       struct lm_info objfile_lm_info;
       struct cleanup *old_chain;
       CORE_ADDR name_address;
-      int l_name_size = TYPE_LENGTH (builtin_type_void_data_ptr);
+      int l_name_size
+	= TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr);
       gdb_byte *l_name_buf = xmalloc (l_name_size);
       old_chain = make_cleanup (xfree, l_name_buf);
 
@@ -832,7 +846,8 @@ svr4_fetch_objfile_link_map (struct objf
 
       /* Extract this object's name.  */
       name_address = extract_typed_address (l_name_buf,
-					    builtin_type_void_data_ptr);
+					    builtin_type (current_gdbarch)
+					       ->builtin_data_ptr);
       target_read_string (name_address, &buffer,
       			  SO_NAME_MAX_PATH_SIZE - 1, &errcode);
       make_cleanup (xfree, buffer);
@@ -856,7 +871,8 @@ svr4_fetch_objfile_link_map (struct objf
   	}
       /* Not the file we wanted, continue checking.  */
       lm = extract_typed_address (objfile_lm_info.lm + lmo->l_next_offset,
-				  builtin_type_void_data_ptr);
+				  builtin_type (current_gdbarch)
+				    ->builtin_data_ptr);
       do_cleanups (old_chain);
     }
   return 0;
diff -urpN src/gdb/sparc64-tdep.c dev2/gdb/sparc64-tdep.c
--- src/gdb/sparc64-tdep.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/sparc64-tdep.c	2007-11-05 12:48:59.000000000 +0100
@@ -246,7 +246,7 @@ sparc64_register_type (struct gdbarch *g
   /* Raw registers.  */
 
   if (regnum == SPARC_SP_REGNUM || regnum == SPARC_FP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   if (regnum >= SPARC_G0_REGNUM && regnum <= SPARC_I7_REGNUM)
     return builtin_type_int64;
   if (regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
diff -urpN src/gdb/sparc-tdep.c dev2/gdb/sparc-tdep.c
--- src/gdb/sparc-tdep.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/sparc-tdep.c	2007-11-05 12:48:12.000000000 +0100
@@ -337,7 +337,7 @@ sparc32_register_type (struct gdbarch *g
     return builtin_type_double;
 
   if (regnum == SPARC_SP_REGNUM || regnum == SPARC_FP_REGNUM)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
 
   if (regnum == SPARC32_PC_REGNUM || regnum == SPARC32_NPC_REGNUM)
     return builtin_type_void_func_ptr;
diff -urpN src/gdb/spu-tdep.c dev2/gdb/spu-tdep.c
--- src/gdb/spu-tdep.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/spu-tdep.c	2007-11-05 12:47:36.000000000 +0100
@@ -140,7 +140,7 @@ spu_register_type (struct gdbarch *gdbar
       return builtin_type_void_func_ptr;
 
     case SPU_SP_REGNUM:
-      return builtin_type_void_data_ptr;
+      return builtin_type (gdbarch)->builtin_data_ptr;
 
     case SPU_FPSCR_REGNUM:
       return builtin_type_uint128;
diff -urpN src/gdb/std-regs.c dev2/gdb/std-regs.c
--- src/gdb/std-regs.c	2007-10-22 16:13:19.000000000 +0200
+++ dev2/gdb/std-regs.c	2007-11-05 12:47:02.000000000 +0100
@@ -42,12 +42,14 @@ value_of_builtin_frame_fp_reg (struct fr
 			      frame);
   else
     {
-      struct value *val = allocate_value (builtin_type_void_data_ptr);
+      struct value *val
+	= allocate_value (builtin_type (gdbarch)->builtin_data_ptr);
       gdb_byte *buf = value_contents_raw (val);
       if (frame == NULL)
 	memset (buf, 0, TYPE_LENGTH (value_type (val)));
       else
-	gdbarch_address_to_pointer (gdbarch, builtin_type_void_data_ptr,
+	gdbarch_address_to_pointer (gdbarch,
+				    builtin_type (gdbarch)->builtin_data_ptr,
 				    buf, get_frame_base_address (frame));
       return val;
     }
@@ -61,12 +63,14 @@ value_of_builtin_frame_pc_reg (struct fr
     return value_of_register (gdbarch_pc_regnum (gdbarch), frame);
   else
     {
-      struct value *val = allocate_value (builtin_type_void_data_ptr);
+      struct value *val
+	= allocate_value (builtin_type (gdbarch)->builtin_data_ptr);
       gdb_byte *buf = value_contents_raw (val);
       if (frame == NULL)
 	memset (buf, 0, TYPE_LENGTH (value_type (val)));
       else
-	gdbarch_address_to_pointer (gdbarch, builtin_type_void_data_ptr,
+	gdbarch_address_to_pointer (gdbarch,
+				    builtin_type (gdbarch)->builtin_data_ptr,
 				    buf, get_frame_pc (frame));
       return val;
     }
diff -urpN src/gdb/target.c dev2/gdb/target.c
--- src/gdb/target.c	2007-10-22 16:03:37.000000000 +0200
+++ dev2/gdb/target.c	2007-11-05 12:43:42.000000000 +0100
@@ -1785,7 +1785,8 @@ find_default_create_inferior (char *exec
 static int
 default_region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
-  return (len <= TYPE_LENGTH (builtin_type_void_data_ptr));
+  return (len
+	    <= TYPE_LENGTH (builtin_type (current_gdbarch)->builtin_data_ptr));
 }
 
 static int
diff -urpN src/gdb/target-descriptions.c dev2/gdb/target-descriptions.c
--- src/gdb/target-descriptions.c	2007-11-05 05:32:22.000000000 +0100
+++ dev2/gdb/target-descriptions.c	2007-11-05 12:42:42.000000000 +0100
@@ -572,12 +572,12 @@ tdesc_register_type (struct gdbarch *gdb
 	return builtin_type_long_long;
       else if (reg->bitsize == gdbarch_ptr_bit (gdbarch))
 	/* A bit desperate by this point... */
-	return builtin_type_void_data_ptr;
+	return builtin_type (gdbarch)->builtin_data_ptr;
     }
   else if (strcmp (reg->type, "code_ptr") == 0)
     return builtin_type_void_func_ptr;
   else if (strcmp (reg->type, "data_ptr") == 0)
-    return builtin_type_void_data_ptr;
+    return builtin_type (gdbarch)->builtin_data_ptr;
   else
     internal_error (__FILE__, __LINE__,
 		    "Register \"%s\" has an unknown type \"%s\"",

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]