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.

** Changed in: gcc-5 (Ubuntu)
       Status: Invalid => Incomplete

** Changed in: valgrind (Ubuntu)
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1767493

Title:
  64bit integer division broken on 32bit armhf

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1767493/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to