aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r--gdb/gdbarch.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 95e9044..435b36c 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -690,10 +690,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
&& (gdbarch->store_return_value == 0))
internal_error (__FILE__, __LINE__,
"gdbarch: verify_gdbarch: store_return_value invalid");
- if ((GDB_MULTI_ARCH >= 2)
- && (gdbarch->extract_struct_value_address == 0))
- internal_error (__FILE__, __LINE__,
- "gdbarch: verify_gdbarch: extract_struct_value_address invalid");
+ /* Skip verify of extract_struct_value_address, has predicate */
if ((GDB_MULTI_ARCH >= 2)
&& (gdbarch->use_struct_convention == 0))
internal_error (__FILE__, __LINE__,
@@ -3696,6 +3693,12 @@ set_gdbarch_store_return_value (struct gdbarch *gdbarch,
gdbarch->store_return_value = store_return_value;
}
+int
+gdbarch_extract_struct_value_address_p (struct gdbarch *gdbarch)
+{
+ return gdbarch->extract_struct_value_address != 0;
+}
+
CORE_ADDR
gdbarch_extract_struct_value_address (struct gdbarch *gdbarch, char *regbuf)
{