Bug #76654 bigint and other tests fail with gcc 5.0
Submitted: 10 Apr 2015 9:35 Modified: 31 May 2015 11:16
Reporter: Honza Horak (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.6.24 OS:Linux (Fedora 22+)
Assigned to: CPU Architecture:Any

[10 Apr 2015 9:35] Honza Horak
Description:
When building mysql-5.6.24 with gcc 5.0 on Fedora 22 or later some tests fail on big integers operations, for example bigint test case.

Full build log is available here:
https://kojipkgs.fedoraproject.org//work/tasks/3420/9443420/build.log

How to repeat:
Run bigint test or a small reproducer:

  MySQL [(none)]> select -(-9223372036854775808);
  +-------------------------+
  | -(-9223372036854775808) |
  +-------------------------+
  |               854775808 |
  +-------------------------+

Which is obviously wrong.
[10 Apr 2015 10:20] Bjørn Munch
Patch for bigint on gcc 5

Attachment: gcc5.patch (application/octet-stream, text), 1.57 KiB.

[10 Apr 2015 10:23] Bjørn Munch
I have just appended our patch for this issue, which should also make it into the next release.
[10 Apr 2015 10:34] MySQL Verification Team
Hello Honza Horak,

Thank you for the report.
This is duplicate of internal bug Bug 20768820 - MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD which is fixed in 5.6.25, 5.7.8-rc and 5.8.0.

Thanks,
Umesh
[14 Apr 2015 13:03] Erlend Dahl
Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD

has been fixed in 5.6.25, 5.7.8 and 5.8.0.
[5 May 2015 15:16] Honza Horak
Please, see the Sergei's comment at https://mariadb.atlassian.net/browse/MDEV-7973

Consider applying the following patch instead:
https://github.com/MariaDB/server/commit/ae18a28500974351cf42fa3cac67c83e0647d510
[31 May 2015 11:16] Erlend Dahl
We will use our internally developed patch for this.
[24 Jun 2015 4:23] Laurynas Biveinis
commit 49329220ea0f40e42344cef39b0d9b72bd5f557f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 8 16:53:55 2015 +0200

    Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD
    
    Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow.
    Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's
    (cherry picked from commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7)