On 1/6/21 3:36 PM, Laurent Vivier wrote: > On 06/01/2021 14:02, Daniel P. Berrangé wrote: >> All variables are 64-bit and so %l / %ll are not required, and the >> latter is actually invalid: >> >> $ sudo stap -e 'probe begin{printf ("BEGIN")}' -I . >> parse error: invalid or missing conversion specifier >> saw: operator ',' at ./qemu-system-x86_64-log.stp:15118:101 >> source: printf("%d@%d vhost_vdpa_set_log_base dev: %p base: 0x%x >> size: %llu >> refcnt: %d fd: %d log: %p\n", pid(), gettimeofday_ns(), dev, base, size, >> refcnt, fd, log) >> >> ^ >> >> Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> >> --- >> scripts/tracetool/format/log_stap.py | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> In v2: >> >> - Change existing logic that stripped %z to handle %l/%ll too >> >> diff --git a/scripts/tracetool/format/log_stap.py >> b/scripts/tracetool/format/log_stap.py >> index b486beb672..fac911a0f4 100644 >> --- a/scripts/tracetool/format/log_stap.py >> +++ b/scripts/tracetool/format/log_stap.py >> @@ -77,7 +77,12 @@ def c_fmt_to_stap(fmt): >> elif state == STATE_LITERAL: >> bits.append(literal) >> >> - fmt = re.sub("%(\d*)z(x|u|d)", "%\\1\\2", "".join(bits)) >> + # All variables in systemtap are 64-bit in size >> + # The "%l" integer size qualifier is thus redundant >> + # and "%ll" is not valid at all. Simiarly the size_t > > Didn't see the typo the first time: > > s/Simiarly/Similarly/
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>