Comment 2 for bug 1767493

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I took a look at this and am unable to reproduce. The test program compiles and ran fine on an Ubuntu 16.04 system:

$ ./test
value1: -3

Running this under valgrind I see:

$ valgrind --leak-check=yes ./test
==16237== Memcheck, a memory error detector
==16237== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==16237== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==16237== Command: ./test
==16237==
==16237== Invalid write of size 4
==16237== at 0x1049A: ??? (in /home/jdstrand/test)
==16237== Address 0xbdf19540 is on thread 1's stack
==16237== 16 bytes below stack pointer
==16237==
==16237== Conditional jump or move depends on uninitialised value(s)
==16237== at 0x10610: __udivmoddi4 (in /home/jdstrand/test)
==16237==
==16237== Use of uninitialised value of size 4
==16237== at 0x10612: __udivmoddi4 (in /home/jdstrand/test)
==16237==
==16237== Use of uninitialised value of size 4
==16237== at 0x104EA: ??? (in /home/jdstrand/test)
==16237==
value1: -3
==16237==
==16237== HEAP SUMMARY:
==16237== in use at exit: 0 bytes in 0 blocks
==16237== total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
==16237==
==16237== All heap blocks were freed -- no leaks are possible
==16237==
==16237== For counts of detected and suppressed errors, rerun with: -v
==16237== Use --track-origins=yes to see where uninitialised values come from
==16237== ERROR SUMMARY: 5 errors from 4 contexts (suppressed: 6 from 3)

(not free from errors, but it didn't crash and value is correct).

$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial

$ gcc --version
gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609

The test was performed on a Beagle Bone Black, raspberry pi2 and pi3. There does not appear to be a general problem with current gcc-5 on Ubuntu 16.04. Unmarking as security for now, but please provide more info on how to reproduce and this can be revisited. Since this doesn't seem to be an issue with valgrind, marking that as invalid and gcc-5 as Incomplete.