All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Perl: Use CC version not $Config(gccversion)
@ 2015-10-23 17:18 Jeremy Puhlman
  2015-10-24 12:15 ` Jens Rehsack
  0 siblings, 1 reply; 4+ messages in thread
From: Jeremy Puhlman @ 2015-10-23 17:18 UTC (permalink / raw)
  To: openembedded-core

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>
---
 .../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 0000000..efbc55d
--- /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 3ce7849..66e074d 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
-- 
2.6.2



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-10-25 18:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-23 17:18 [PATCH] Perl: Use CC version not $Config(gccversion) Jeremy Puhlman
2015-10-24 12:15 ` Jens Rehsack
2015-10-24 22:17   ` Jeremy Puhlman
2015-10-25 18:43     ` Jens Rehsack

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.