2007-06-18 Markus Deuling <deuling@de.ibm.com>
[deliverable/binutils-gdb.git] / gdb / gnu-v3-abi.c
index d3c278c96a0a9fa0b43875b8f7616dc8fa386d82..4914b4692cbb35c8d245544fb42924b5a610bd42 100644 (file)
@@ -117,7 +117,8 @@ build_gdb_vtable_type (struct gdbarch *arch)
 
   /* ARCH can't give us the true ptrdiff_t type, so we guess.  */
   struct type *ptrdiff_type
-    = init_type (TYPE_CODE_INT, TARGET_PTR_BIT / TARGET_CHAR_BIT, 0,
+    = init_type (TYPE_CODE_INT,
+                gdbarch_ptr_bit (current_gdbarch) / TARGET_CHAR_BIT, 0,
                  "ptrdiff_t", 0);
 
   /* We assume no padding is necessary, since GDB doesn't know
@@ -678,14 +679,15 @@ gnuv3_method_ptr_to_value (struct value **this_p, struct value *method_ptr)
    of the routine we are thunking to and continue to there instead.  */
 
 static CORE_ADDR 
-gnuv3_skip_trampoline (CORE_ADDR stop_pc)
+gnuv3_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc)
 {
   CORE_ADDR real_stop_pc, method_stop_pc;
   struct minimal_symbol *thunk_sym, *fn_sym;
   struct obj_section *section;
   char *thunk_name, *fn_name;
   
-  real_stop_pc = SKIP_TRAMPOLINE_CODE (stop_pc);
+  real_stop_pc = gdbarch_skip_trampoline_code
+                  (current_gdbarch, frame, stop_pc);
   if (real_stop_pc == 0)
     real_stop_pc = stop_pc;
 
@@ -708,7 +710,8 @@ gnuv3_skip_trampoline (CORE_ADDR stop_pc)
     return 0;
 
   method_stop_pc = SYMBOL_VALUE_ADDRESS (fn_sym);
-  real_stop_pc = SKIP_TRAMPOLINE_CODE (method_stop_pc);
+  real_stop_pc = gdbarch_skip_trampoline_code
+                  (current_gdbarch, frame, method_stop_pc);
   if (real_stop_pc == 0)
     real_stop_pc = method_stop_pc;
 
This page took 0.026161 seconds and 4 git commands to generate.