diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-07-14 22:44:03 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-07-14 22:44:03 +0000 |
commit | 1ab786f460f3b377d20fd0b82575bcf5e2e03b8c (patch) | |
tree | 62ae4ee70e93bd04713c71eb320a948ca2870502 /gdb/printcmd.c | |
parent | 6dc31f06c3c637058aee938b46dfb62758ba7711 (diff) | |
download | gdb-1ab786f460f3b377d20fd0b82575bcf5e2e03b8c.zip gdb-1ab786f460f3b377d20fd0b82575bcf5e2e03b8c.tar.gz gdb-1ab786f460f3b377d20fd0b82575bcf5e2e03b8c.tar.bz2 |
Changes from Jeffrey Law:
* printcmd.c (makeva_list): Use MAKEVA_EXTRA_INFO to define
machine dependent fields in the makeva_list structure.
(makeva_size): Allocate extra space to handle gaps made by
alignment restrictions.
* config/pa/xm-pa.h (MAKEVA_EXTRA_INFO): Define.
(MAKEVA_START): Initialize arglist_address field.
(MAKEVA_ARG): Always store arguments on natural alignment
boundaries. Set arglist_address to the address right after
the args.
(MAKEVA_END): Simply return the value stored in arglist_address.
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r-- | gdb/printcmd.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 48ced2a..cfe2e9b 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -1623,6 +1623,11 @@ typedef struct { /* Current position in bytes. */ unsigned int argindex; +#ifdef MAKEVA_EXTRA_INFO + /* For host dependent information. */ + MAKEVA_EXTRA_INFO +#endif + char arg_bytes[1]; } makeva_list; @@ -1634,7 +1639,9 @@ makeva_size (nargs, max_arg_size) unsigned int nargs; unsigned int max_arg_size; { - return sizeof (makeva_list) + nargs * max_arg_size; + return sizeof (makeva_list) + nargs * max_arg_size + /* The PA might need up to this much for alignment. */ + + max_arg_size - 1; } /* Start working on LIST with NARGS arguments and whose largest |