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.
This commit is contained in:
Jim Kingdon
1993-07-14 22:44:03 +00:00
parent 6dc31f06c3
commit 1ab786f460
3 changed files with 48 additions and 14 deletions

View File

@ -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