aboutsummaryrefslogtreecommitdiff
path: root/printf.c
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2012-09-13 17:12:41 +0200
committerPetr Machata <pmachata@redhat.com>2012-09-22 15:26:38 +0200
commite36298a706b96bfdf9335fbe8288827761d77957 (patch)
tree7d1f5bb3b93dcf18f6d32b3ad8d079f5121ba186 /printf.c
parenta2e16c5cc8cc2343d40a44ac8b4d2230de9fc985 (diff)
downloadltrace-e36298a706b96bfdf9335fbe8288827761d77957.tar.gz
Introduce parameter pack flavors and parameter pack backend callbacks
The issue this is trying to solve is that some backends (Itanium in particular) change the parameter passing convention depending on whether given parameter is part of varargs parameter or not. Therefore the backend needs to know a) that any give argument is part of parameter pack, and b) if it is, whether it's a varargs-type pack, or something else. Backends that wish to use this should add #define ARCH_HAVE_FETCH_PACK and define functions arch_fetch_param_pack_{start,end} (with the same interface as fetch_param_pack_{start,end} from fetch.h).
Diffstat (limited to 'printf.c')
-rw-r--r--printf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/printf.c b/printf.c
index 1fe3025..9a2b4a3 100644
--- a/printf.c
+++ b/printf.c
@@ -345,7 +345,7 @@ param_printf_done(struct param_enum *context)
void
param_pack_init_printf(struct param *param, struct expr_node *arg, int own_arg)
{
- param_init_pack(param, arg, 1, own_arg,
+ param_init_pack(param, PARAM_PACK_VARARGS, arg, 1, own_arg,
&param_printf_init, &param_printf_next,
&param_printf_stop, &param_printf_done);
}