aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
blob: 8f5a59cc7bc24859d58c4dd15efe75d157e808dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From 1fc92ffc9e8aa08d6edc27766c2dd398cba633c3 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Oct 2015 10:18:07 -0700
Subject: [PATCH] Perl: Use CC version not $Config(gccversion)

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.

Jeremy Puhlman <jpuhlman@mvista.com>

Fix spaces in brackets while running $CC --version
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>

---
 ext/Errno/Errno_pm.PL | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 560d2ef..d894a44 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -231,9 +231,13 @@ sub write_errno_pm {
 
     {	# BeOS (support now removed) did not enter this block
     # invoke CPP and read the output
+        my $compiler = $ENV{'CC'};
+        my $compiler_out = `$compiler --version`;
+        $compiler_out =~ s/\(.*\)/;/;
+        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';