This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Adapt Configure to GCC version 10
authorPetr Písař <ppisar@redhat.com>
Tue, 12 Nov 2019 08:19:18 +0000 (09:19 +0100)
committerDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Tue, 21 Jan 2020 17:18:28 +0000 (17:18 +0000)
commit9f4e6307232229875331a55e44e1245b0b91e219
tree973dc25a4d2af471767dd16ae11fc29d0fa2a791
parent6c8e1158f1772eedb813932444244e833799a032
Adapt Configure to GCC version 10

I got a notice from Jeff Law <law@redhat.com>:

    Your particular package fails its testsuite. This was ultimately
    tracked down to a Configure problem. The perl configure script treated
    gcc-10 as gcc-1 and turned on -fpcc-struct-return. This is an ABI
    changing flag and caused Perl to not be able to interact properly with
    the dbm libraries on the system leading to a segfault.

His proposed patch corrected only this one instance of the version
mismatch. Reading the Configure script revealed more issues. This
patch fixes all of them I found.

Please note I do not have GCC 10 available, I tested it by faking the version
with:

--- a/Configure
+++ b/Configure
@@ -4672,7 +4672,7 @@ $cat >try.c <<EOM
 int main() {
 #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
 #ifdef __VERSION__
-       printf("%s\n", __VERSION__);
+       printf("%s\n", "10.0.0");
 #else
        printf("%s\n", "1");
 #endif

(cherry picked from commit 6bd6308fcea3541e505651bf8e8127a4a03d22cd, which
was accidentally reverted by commit e849841dca2a8b11119997585f795647c52cdcdf)
Configure