mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-01 16:35:04 +00:00
2003-10-10 Elena Zannoni <ezannoni@redhat.com>
* sh-tdep.c (sh_use_struct_convention): Clarify one case in comment.
This commit is contained in:
parent
3f997a978d
commit
7fe958be01
@ -1,3 +1,8 @@
|
|||||||
|
2003-10-10 Elena Zannoni <ezannoni@redhat.com>
|
||||||
|
|
||||||
|
* sh-tdep.c (sh_use_struct_convention): Clarify one case in
|
||||||
|
comment.
|
||||||
|
|
||||||
2003-10-10 Corinna Vinschen <vinschen@redhat.com>
|
2003-10-10 Corinna Vinschen <vinschen@redhat.com>
|
||||||
|
|
||||||
* sh-tdep.c (sh_use_struct_convention): Clean up to have a
|
* sh-tdep.c (sh_use_struct_convention): Clean up to have a
|
||||||
|
@ -568,7 +568,7 @@ sh_skip_prologue (CORE_ADDR start_pc)
|
|||||||
All other aggregate types are returned by address. The caller
|
All other aggregate types are returned by address. The caller
|
||||||
function passes the address of an area large enough to hold the
|
function passes the address of an area large enough to hold the
|
||||||
aggregate value in R2. The called function stores the result in
|
aggregate value in R2. The called function stores the result in
|
||||||
this location."
|
this location.
|
||||||
|
|
||||||
To reiterate, structs smaller than 8 bytes could also be returned
|
To reiterate, structs smaller than 8 bytes could also be returned
|
||||||
in memory, if they don't pass the "same size and alignment as an
|
in memory, if they don't pass the "same size and alignment as an
|
||||||
@ -582,6 +582,16 @@ sh_skip_prologue (CORE_ADDR start_pc)
|
|||||||
the return value from foo() will be in memory, not
|
the return value from foo() will be in memory, not
|
||||||
in R0, because there is no 3-byte integer type.
|
in R0, because there is no 3-byte integer type.
|
||||||
|
|
||||||
|
Similarly, in
|
||||||
|
|
||||||
|
struct s { char c[2]; } wibble;
|
||||||
|
struct s foo(void) { return wibble; }
|
||||||
|
|
||||||
|
because a struct containing two chars has alignment 1, that matches
|
||||||
|
type char, but size 2, that matches type short. There's no integer
|
||||||
|
type that has alignment 1 and size 2, so the struct is returned in
|
||||||
|
memory.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
Loading…
Reference in New Issue
Block a user