diff mbox

e1000e: Fix build with gcc 4.6.3 and ust tracing

Message ID 1465023763-10773-1-git-send-email-dmitry@daynix.com
State New
Headers show

Commit Message

Dmitry Fleytman June 4, 2016, 7:02 a.m. UTC
This patch fixes used-uninitialized false
positive while compiling with ust tracing
backend plus gcc 4.6.3:

hw/net/e1000e.c: In function ‘e1000e_io_write’:
hw/net/e1000e.c:170:39: error: ‘idx’ may be used uninitialized in this function [-Werror=uninitialized]
hw/net/e1000e.c: In function ‘e1000e_io_read’:
hw/net/e1000e.c:145:35: error: ‘idx’ may be used uninitialized in this function [-Werror=uninitialized]
cc1: all warnings being treated as errors
make: *** [hw/net/e1000e.o] Error 1

Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
---
 hw/net/e1000e.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jason Wang June 6, 2016, 1:18 a.m. UTC | #1
On 2016年06月04日 15:02, Dmitry Fleytman wrote:
> This patch fixes used-uninitialized false
> positive while compiling with ust tracing
> backend plus gcc 4.6.3:
>
> hw/net/e1000e.c: In function ‘e1000e_io_write’:
> hw/net/e1000e.c:170:39: error: ‘idx’ may be used uninitialized in this function [-Werror=uninitialized]
> hw/net/e1000e.c: In function ‘e1000e_io_read’:
> hw/net/e1000e.c:145:35: error: ‘idx’ may be used uninitialized in this function [-Werror=uninitialized]
> cc1: all warnings being treated as errors
> make: *** [hw/net/e1000e.o] Error 1
>
> Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
> ---
>   hw/net/e1000e.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
> index 61bcbb6..692283f 100644
> --- a/hw/net/e1000e.c
> +++ b/hw/net/e1000e.c
> @@ -133,7 +133,7 @@ static uint64_t
>   e1000e_io_read(void *opaque, hwaddr addr, unsigned size)
>   {
>       E1000EState *s = opaque;
> -    uint32_t idx;
> +    uint32_t idx = 0;
>       uint64_t val;
>   
>       switch (addr) {
> @@ -158,7 +158,7 @@ e1000e_io_write(void *opaque, hwaddr addr,
>                   uint64_t val, unsigned size)
>   {
>       E1000EState *s = opaque;
> -    uint32_t idx;
> +    uint32_t idx = 0;
>   
>       switch (addr) {
>       case E1000_IOADDR:

Acked-by: Jason Wang <jasowang@redhat.com>

Maybe in the future, we need something like uninitialized_var() tricks 
in Linux for this.
Peter Maydell June 6, 2016, 9:06 a.m. UTC | #2
On 6 June 2016 at 02:18, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2016年06月04日 15:02, Dmitry Fleytman wrote:
>>
>> This patch fixes used-uninitialized false
>> positive while compiling with ust tracing
>> backend plus gcc 4.6.3:
>>
>> hw/net/e1000e.c: In function ‘e1000e_io_write’:
>> hw/net/e1000e.c:170:39: error: ‘idx’ may be used uninitialized in this
>> function [-Werror=uninitialized]
>> hw/net/e1000e.c: In function ‘e1000e_io_read’:
>> hw/net/e1000e.c:145:35: error: ‘idx’ may be used uninitialized in this
>> function [-Werror=uninitialized]
>> cc1: all warnings being treated as errors
>> make: *** [hw/net/e1000e.o] Error 1
>>
>> Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
>> ---
>>   hw/net/e1000e.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
>> index 61bcbb6..692283f 100644
>> --- a/hw/net/e1000e.c
>> +++ b/hw/net/e1000e.c
>> @@ -133,7 +133,7 @@ static uint64_t
>>   e1000e_io_read(void *opaque, hwaddr addr, unsigned size)
>>   {
>>       E1000EState *s = opaque;
>> -    uint32_t idx;
>> +    uint32_t idx = 0;
>>       uint64_t val;
>>         switch (addr) {
>> @@ -158,7 +158,7 @@ e1000e_io_write(void *opaque, hwaddr addr,
>>                   uint64_t val, unsigned size)
>>   {
>>       E1000EState *s = opaque;
>> -    uint32_t idx;
>> +    uint32_t idx = 0;
>>         switch (addr) {
>>       case E1000_IOADDR:
>
>
> Acked-by: Jason Wang <jasowang@redhat.com>

Thanks. Applied to master as a buildfix.

-- PMM
diff mbox

Patch

diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
index 61bcbb6..692283f 100644
--- a/hw/net/e1000e.c
+++ b/hw/net/e1000e.c
@@ -133,7 +133,7 @@  static uint64_t
 e1000e_io_read(void *opaque, hwaddr addr, unsigned size)
 {
     E1000EState *s = opaque;
-    uint32_t idx;
+    uint32_t idx = 0;
     uint64_t val;
 
     switch (addr) {
@@ -158,7 +158,7 @@  e1000e_io_write(void *opaque, hwaddr addr,
                 uint64_t val, unsigned size)
 {
     E1000EState *s = opaque;
-    uint32_t idx;
+    uint32_t idx = 0;
 
     switch (addr) {
     case E1000_IOADDR: