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)

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.063 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.