aboutsummaryrefslogtreecommitdiff
path: root/gdb/cp-abi.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/cp-abi.h')
-rw-r--r--gdb/cp-abi.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/gdb/cp-abi.h b/gdb/cp-abi.h
index 53c8f93..9bfa1b0 100644
--- a/gdb/cp-abi.h
+++ b/gdb/cp-abi.h
@@ -139,18 +139,18 @@ extern struct type *value_rtti_type (struct value *value,
int *full, int *top,
int *using_enc);
-/* Compute the offset of the baseclass which is
- the INDEXth baseclass of class TYPE,
- for value at VALADDR (in host) at ADDRESS (in target).
- The result is the offset of the baseclass value relative
- to (the address of)(ARG) + OFFSET.
-
- -1 is returned on error. */
-
-extern int baseclass_offset (struct type *type, int index,
- const bfd_byte *valaddr,
- CORE_ADDR address);
-
+/* Compute the offset of the baseclass which is the INDEXth baseclass
+ of class TYPE, for value at VALADDR (in host) at ADDRESS (in
+ target), offset by EMBEDDED_OFFSET. VALADDR points to the raw
+ contents of VAL. The result is the offset of the baseclass value
+ relative to (the address of)(ARG) + OFFSET. */
+
+extern int baseclass_offset (struct type *type,
+ int index, const gdb_byte *valaddr,
+ int embedded_offset,
+ CORE_ADDR address,
+ const struct value *val);
+
/* Describe the target of a pointer to method. CONTENTS is the byte
pattern representing the pointer to method. TYPE is the pointer to
method type. STREAM is the stream to print it to. */
@@ -204,8 +204,8 @@ struct cp_abi_ops
struct type *(*rtti_type) (struct value *v, int *full,
int *top, int *using_enc);
int (*baseclass_offset) (struct type *type, int index,
- const bfd_byte *valaddr,
- CORE_ADDR address);
+ const bfd_byte *valaddr, int embedded_offset,
+ CORE_ADDR address, const struct value *val);
void (*print_method_ptr) (const gdb_byte *contents,
struct type *type,
struct ui_file *stream);