From c616e05691ec143066df8f416cc0b6b464fabd02 Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman Date: Fri, 23 Oct 2015 10:18:07 -0700 Subject: Perl: Use CC version not $Config(gccversion) Get version data from querying $CC rather then $Config(gccversion) which comes from running version of perl. Since perl-native is not likely compiled by gcc 5 at this point, it will never trigger the required fixes for gcc 5. [YOCTO #8367] Signed-off-by: Jeremy Puhlman Signed-off-by: Ross Burton --- .../perl/perl/perl-errno-generation-gcc5.patch | 23 ++++++++++++++++++++++ meta/recipes-devtools/perl/perl_5.22.0.bb | 1 + 2 files changed, 24 insertions(+) create mode 100644 meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch diff --git a/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch b/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch new file mode 100644 index 0000000000..efbc55df29 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch @@ -0,0 +1,23 @@ +Upstream-Status:Inappropriate [embedded specific] + +The upstream code assumes that the compiler version used to compiler miniperl/perl-native +is the same as the one being used to build the perl binary. Since most people are not running +systems with gcc 5, it is unlikely that it will work on any supported host. Switch out gccversion +for the version extracted from $CC --version. + +--- perl-5.22.0/ext/Errno/Errno_pm.PL 2015-10-19 18:01:20.622143786 -0400 ++++ perl-5.22.0-fixed/ext/Errno/Errno_pm.PL 2015-10-19 17:50:35.662137367 -0400 +@@ -224,9 +224,12 @@ + + { # BeOS (support now removed) did not enter this block + # invoke CPP and read the output ++ my $compiler = $ENV{'CC'}; ++ my $compiler_out = `$compiler --version`; ++ my @compiler_version = split / /,$compiler_out; + + my $inhibit_linemarkers = ''; +- if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) { ++ if (@compiler_version[2] =~ /\A(\d+)\./ and $1 >= 5) { + # GCC 5.0 interleaves expanded macros with line numbers breaking + # each line into multiple lines. RT#123784 + $inhibit_linemarkers = ' -P'; diff --git a/meta/recipes-devtools/perl/perl_5.22.0.bb b/meta/recipes-devtools/perl/perl_5.22.0.bb index 3ce7849f9e..66e074d37b 100644 --- a/meta/recipes-devtools/perl/perl_5.22.0.bb +++ b/meta/recipes-devtools/perl/perl_5.22.0.bb @@ -62,6 +62,7 @@ SRC_URI += " \ file://ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch \ file://ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch \ file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \ + file://perl-errno-generation-gcc5.patch \ " # Fix test case issues -- cgit 1.2.3-korg