aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Puhlman <jpuhlman@mvista.com>2015-10-23 10:18:07 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-10-24 12:21:30 +0100
commitc616e05691ec143066df8f416cc0b6b464fabd02 (patch)
tree125fa476e3f568fed0fd70ef5a60d19b924920c2
parentba127370e621b5b683d6f454596c3d0c60c13df7 (diff)
downloadopenembedded-core-contrib-c616e05691ec143066df8f416cc0b6b464fabd02.tar.gz
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 <jpuhlman@mvista.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch23
-rw-r--r--meta/recipes-devtools/perl/perl_5.22.0.bb1
2 files changed, 24 insertions, 0 deletions
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