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

Enze Li enze.li@hotmail.com
Wed Jul 6 13:53:29 GMT 2022


Hi all,

Kindly PING for this tiny patch.  The warning mentioned in this patch
still exists in the trunk.  Does it make sense?

Best Regards,
Enze

On Sat, 2022-06-11 at 18:36 +0800, Enze Li via Gdb-patches wrote:
> 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;
>       |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
> ../gdb/nat/linux-btrace.c: In function ‘btrace_error
> linux_read_btrace(btrace_data*, btrace_target_info*,
> btrace_read_type)’:
> ../gdb/nat/linux-btrace.c:792:9: note: ‘data_head’ was declared here
>   792 |   __u64 data_head, data_tail;
>       |         ^~~~~~~~~
> 
> Fix this by initializing the 'data_head' variable.
> 
> Tested by rebuilding on x86_64 openSUSE Tumbleweed with gcc 12.
> ---
>  gdb/nat/linux-btrace.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 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;



More information about the Gdb-patches mailing list