aboutsummaryrefslogtreecommitdiff
path: root/gdb/defs.h
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2004-05-08 23:02:10 +0000
committerMark Kettenis <kettenis@gnu.org>2004-05-08 23:02:10 +0000
commit31db7b6c38e66697f1353f6fbfba62c306d84240 (patch)
tree8837c3b26c49054e0d70bf118a97a36394fa6c88 /gdb/defs.h
parent0543f3876c21499784e5f3624fd74bee30951874 (diff)
downloadgdb-31db7b6c38e66697f1353f6fbfba62c306d84240.zip
gdb-31db7b6c38e66697f1353f6fbfba62c306d84240.tar.gz
gdb-31db7b6c38e66697f1353f6fbfba62c306d84240.tar.bz2
* defs.h (enum return_value_convention): Add
RETURN_VALUE_ABI_RETURNS_ADDRESS and RETURN_VALUE_ABI_PRESERVES_ADDRESS. * infcmd.c (legacy_return_value): New function. (print_return_value): Rwerite to implement RETURN_VALUE_ABI_RETURNS_ADDRESS. * values.c (using_struct_return): Check for inequality to RETURN_VALUE_REGISTER_CONVENTION instead of equality to RETURN_VALUE_STRUCT_CONVENTION. * i386-tdep.c (i386_return_value): Implement RETURN_VALUE_ABI_RETURNS_ADDRESS.
Diffstat (limited to 'gdb/defs.h')
-rw-r--r--gdb/defs.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/gdb/defs.h b/gdb/defs.h
index 362f4a7..9771428 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -250,7 +250,19 @@ enum return_value_convention
should be stored. While typically, and historically, used for
large structs, this is convention is applied to values of many
different types. */
- RETURN_VALUE_STRUCT_CONVENTION
+ RETURN_VALUE_STRUCT_CONVENTION,
+ /* Like the "struct return convention" above, but where the ABI
+ guarantees that the called function stores the address at which
+ the value being returned is stored in a well-defined location,
+ such as a register or memory slot in the stack frame. Don't use
+ this if the ABI doesn't explicitly guarantees this. */
+ RETURN_VALUE_ABI_RETURNS_ADDRESS,
+ /* Like the "struct return convention" above, but where the ABI
+ guarantees that the address at which the value being returned is
+ stored will be available in a well-defined location, such as a
+ register or memory slot in the stack frame. Don't use this if
+ the ABI doesn't explicitly guarantees this. */
+ RETURN_VALUE_ABI_PRESERVES_ADDRESS,
};
/* the cleanup list records things that have to be undone