[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] tracetool: also strip %l and %ll from systemtap format st
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v2] tracetool: also strip %l and %ll from systemtap format strings |
Date: |
Wed, 6 Jan 2021 17:49:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
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é <berrange@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é <philmd@redhat.com>