aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/config/alpha/xm-alpha.h2
-rw-r--r--gdb/config/pa/xm-pa.h19
2 files changed, 7 insertions, 14 deletions
diff --git a/gdb/config/alpha/xm-alpha.h b/gdb/config/alpha/xm-alpha.h
index e2673e6..0fa5199 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 831be59..4b12910 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)