This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Corinna Vinschen <vinschen@redhat.com> writes:
- EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE, USE_STRUCT_CONVENTION and gdbarch_push_dummy_code gdbarch methods would be changed to expect the type of the function, not the type of its return value. They can use TYPE_TARGET_TYPE to get the return value type, but this will also give them access to the `calling_convention' for the function type.
- gdbarch_push_dummy_call and EXTRACT_STRUCT_VALUE_ADDRESS would receive the function's type as an additional argument, to give them access to the function's calling convention information.
- USE_STRUCT_CONVENTION and gdbarch_push_dummy_code would not require the `gcc_p' and `using_gcc' flags anymore since this information is now given in the function type node. Due to the way, gdbarch_parse_dwarf2_calling_convention evaluates the `calling_convention' value, all inferior call-related gdbarch methods could simply trust its value.
I was working on the (32-bit) SPARC target today, and wished I had the function type available, so I'm positive this would be a good move.
some ABI's allow struct return, some don't. Generic code shouldn't be making the decision.if (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION) /* FIXME, implement struct return. */ error ("GDB does not support specifying a struct or union return value.");
STORE_RETURN_VALUE (type, current_regcache, VALUE_CONTENTS (val));
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |