[PING] [PATCH] gdb: initialize the data_head variable to eliminate compilation warnings

Metzger, Markus T markus.t.metzger@intel.com
Wed Jul 6 14:02:10 GMT 2022


Hello Enze,

>> On a machine with gcc 12, I get this warning:
>>
>>   CXX    nat/linux-btrace.o
>> In function ‘btrace_error linux_read_bts(btrace_data_bts*,
>> btrace_target_info*, btrace_read_type)’,
>>     inlined from ‘btrace_error linux_read_btrace(btrace_data*,
>> btrace_target_info*, btrace_read_type)’ at ../gdb/nat/linux-
>> btrace.c:935:29:
>> ../gdb/nat/linux-btrace.c:865:21: warning: ‘data_head’ may be used
>> uninitialized [-Wmaybe-uninitialized]
>>   865 |   pevent->last_head = data_head;
>>       |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~

That's a false positive.  Since RETRIES > 0, the loop is executed at least
once and DATA_HEAD is initialized.


>> diff --git a/gdb/nat/linux-btrace.c b/gdb/nat/linux-btrace.c
>> index b0d6dcd7cf1..c31fb5ffe43 100644
>> --- a/gdb/nat/linux-btrace.c
>> +++ b/gdb/nat/linux-btrace.c
>> @@ -789,7 +789,7 @@ linux_read_bts (struct btrace_data_bts *btrace,
>>    struct perf_event_buffer *pevent;
>>    const uint8_t *begin, *end, *start;
>>    size_t buffer_size, size;
>> -  __u64 data_head, data_tail;
>> +  __u64 data_head = 0, data_tail;
>>    unsigned int retries = 5;
>>
>>    pevent = &tinfo->variant.bts.bts;

OK to pacify GCC.  Thanks for the patch.  LGTM.

regards,
markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


More information about the Gdb-patches mailing list