From: Jim Kingdon Date: Mon, 19 Jul 1993 23:31:09 +0000 (+0000) Subject: * printcmd.c, config/pa/xm-pa.h, config/alpha/xm-alpha.h: Make it so X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=88bc5cafd0334b4f07a5ffd8587ed5023f6e2b01;p=binutils-gdb.git * printcmd.c, config/pa/xm-pa.h, config/alpha/xm-alpha.h: Make it so arg_bytes field of makeva_list is always aligned. * config/pa/xm-pa.h: Make arglist_address a char *. --- diff --git a/gdb/config/alpha/xm-alpha.h b/gdb/config/alpha/xm-alpha.h index e2673e682d9..0fa519906a9 100644 --- a/gdb/config/alpha/xm-alpha.h +++ b/gdb/config/alpha/xm-alpha.h @@ -43,7 +43,7 @@ extern void free PARAMS ((void *)); #define MAKEVA_END(list) \ { \ va_list ret; \ - ret.a0 = (char *)(list)->arg_bytes; \ + ret.a0 = (char *)(list)->aligner.arg_bytes; \ ret.offset = (list)->argindex; \ return ret; \ } diff --git a/gdb/config/pa/xm-pa.h b/gdb/config/pa/xm-pa.h index 831be591de5..4b12910f3c9 100644 --- a/gdb/config/pa/xm-pa.h +++ b/gdb/config/pa/xm-pa.h @@ -1,10 +1,7 @@ /* Definitions for all PA machines. */ -#define MAKEVA_EXTRA_INFO int arglist_address; - #define MAKEVA_START(list) \ - list->argindex = list->nargs * list->max_arg_size; \ - list->arglist_address = 0; + list->argindex = list->nargs * list->max_arg_size; #define MAKEVA_ARG(list, argaddr, argsize) \ { \ @@ -18,17 +15,13 @@ else if (argsize <= 8) \ rounded_argsize = 8; \ list->argindex -= rounded_argsize; \ - while ((int)(&list->arg_bytes[list->argindex]) % rounded_argsize) \ + while ((int)(&list->aligner.arg_bytes[list->argindex]) % rounded_argsize) \ list->argindex--; \ - /* arglist_address is used to store the address of the first arguent. */ \ - if (list->arglist_address == 0) \ - list->arglist_address = &list->arg_bytes[list->argindex] \ - + rounded_argsize; \ - memcpy (&list->arg_bytes[list->argindex], argaddr, argsize); \ + memcpy (&list->aligner.arg_bytes[list->argindex], argaddr, argsize); \ } /* The address of the arglist is the address right after the args - (which is what you'd expect). This address is stored in the arglist_address - field. */ + (which is what you'd expect). */ #define MAKEVA_END(list) \ - return (va_list) list->arglist_address; + return (va_list) (list->aligner.arg_bytes \ + + list->nargs * list->max_arg_size)