gdb
[deliverable/binutils-gdb.git] / gdb / gnu-v3-abi.c
index 1027baf70ac9c639e6a9262a5f3d874fd608b462..ece910b4b4cabd2ceea1a038d1aec57b7958549a 100644 (file)
@@ -1,7 +1,7 @@
 /* Abstraction of GNU v3 abi.
    Contributed by Jim Blandy <jimb@redhat.com>
 
-   Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2008
+   Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -269,8 +269,7 @@ gnuv3_rtti_type (struct value *value,
   
   /* Find the linker symbol for this vtable.  */
   vtable_symbol
-    = lookup_minimal_symbol_by_pc (VALUE_ADDRESS (vtable)
-                                   + value_offset (vtable)
+    = lookup_minimal_symbol_by_pc (value_address (vtable)
                                    + value_embedded_offset (vtable));
   if (! vtable_symbol)
     return NULL;
@@ -460,7 +459,7 @@ gnuv3_baseclass_offset (struct type *type, int index, const bfd_byte *valaddr,
      start of whichever baseclass it resides in, as a sanity measure - iff
      we have debugging information for that baseclass.  */
 
-  vbasetype = TYPE_VPTR_BASETYPE (type);
+  vbasetype = check_typedef (TYPE_VPTR_BASETYPE (type));
   vbasetype_vptr_fieldno = get_vptr_fieldno (vbasetype, NULL);
 
   if (vbasetype_vptr_fieldno >= 0
@@ -482,7 +481,7 @@ gnuv3_baseclass_offset (struct type *type, int index, const bfd_byte *valaddr,
    which has virtual table index VOFFSET.  The method has an associated
    "this" adjustment of ADJUSTMENT bytes.  */
 
-const char *
+static const char *
 gnuv3_find_method_in (struct type *domain, CORE_ADDR voffset,
                      LONGEST adjustment)
 {
This page took 0.023907 seconds and 4 git commands to generate.