diff options
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r-- | gdb/gdbarch.c | 11 |
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) { |