summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@strace.io>2021-11-13 08:00:00 +0000
committerDmitry V. Levin <ldv@strace.io>2021-11-13 08:00:00 +0000
commitdc2376f73b7f27e4b4d2ea2d21539ead0a83bb50 (patch)
tree02695f7d1bd18c30f8429ecf6cd7536d2b411293
parent5ea8888ff8fbf224812651fd07e7873239a4782a (diff)
downloadstrace-dc2376f73b7f27e4b4d2ea2d21539ead0a83bb50.tar.gz
maint/gen: use printflags64 and printxval64 instead of 32-bit versions
This is necessary to print 64-bit integer types properly. * maint/gen/codegen.c (generate_printer): Use printflags64 instead of printflags, use printxval64 instead of printxval.
-rw-r--r--maint/gen/codegen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/maint/gen/codegen.c b/maint/gen/codegen.c
index 8f2e0653b..13a4abd92 100644
--- a/maint/gen/codegen.c
+++ b/maint/gen/codegen.c
@@ -572,11 +572,11 @@ generate_printer(FILE *out, struct syscall *syscall,
generate_printer_ptr(out, syscall, argname, arg, entering, type,
indent_level);
} else if (type->type == TYPE_ORFLAGS) {
- OUTFI("printflags(%s, %s, \"%s\");\n",
+ OUTFI("printflags64(%s, zero_extend_signed_to_ull(%s), \"%s\");\n",
type->orflags.flag_type->type->name, arg,
type->orflags.dflt);
} else if (type->type == TYPE_XORFLAGS) {
- OUTFI("printxval(%s, %s, \"%s\");\n",
+ OUTFI("printxval64(%s, zero_extend_signed_to_ull(%s), \"%s\");\n",
type->xorflags.flag_type->type->name, arg,
type->xorflags.dflt);
} else if (strcmp(type->name, "stringnoz") == 0 ||