aboutsummaryrefslogtreecommitdiff
path: root/gdb/gnu-v3-abi.c
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2010-05-14 20:17:37 +0000
committerMichael Snyder <msnyder@vmware.com>2010-05-14 20:17:37 +0000
commitd8734c886e14a4840c59ad815f7b9dc81cc9276c (patch)
tree395ab2af286b87c99b9180d65d5356c99b8e9666 /gdb/gnu-v3-abi.c
parentbb9bcb69cdddee8069bf24321f9a0e91ffd22f32 (diff)
downloadgdb-d8734c886e14a4840c59ad815f7b9dc81cc9276c.zip
gdb-d8734c886e14a4840c59ad815f7b9dc81cc9276c.tar.gz
gdb-d8734c886e14a4840c59ad815f7b9dc81cc9276c.tar.bz2
2010-05-14 Michael Snyder <msnyder@vmware.com>
* gcore.c: White space. * gdb.c: White space. * gdbtypes.c: White space. * gnu-nat.c: White space. * gnu-v2-abi.c: White space. * gnu-v3-abi.c: White space.
Diffstat (limited to 'gdb/gnu-v3-abi.c')
-rw-r--r--gdb/gnu-v3-abi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index b1882a2..571b52a 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -586,6 +586,7 @@ gnuv3_print_method_ptr (const gdb_byte *contents,
{
char *demangled_name = cplus_demangle (physname,
DMGL_ANSI | DMGL_PARAMS);
+
fprintf_filtered (stream, "&virtual ");
if (demangled_name == NULL)
fputs_filtered (physname, stream);
@@ -628,6 +629,7 @@ gnuv3_method_ptr_size (struct type *type)
{
struct type *domain_type = check_typedef (TYPE_DOMAIN_TYPE (type));
struct gdbarch *gdbarch = get_type_arch (domain_type);
+
return 2 * TYPE_LENGTH (builtin_type (gdbarch)->builtin_data_ptr);
}
@@ -710,6 +712,7 @@ gnuv3_method_ptr_to_value (struct value **this_p, struct value *method_ptr)
if (vbit)
{
LONGEST voffset;
+
voffset = ptr_value / TYPE_LENGTH (vtable_ptrdiff_type (gdbarch));
return gnuv3_get_virtual_fn (gdbarch, value_ind (*this_p),
method_type, voffset);