[OE-core] [PATCH] Perl: Use CC version not $Config(gccversion)

Jeremy Puhlman jpuhlman at mvista.com
Sat Oct 24 22:17:52 UTC 2015


On Oct 24, 2015 5:15 AM, "Jens Rehsack" <rehsack at gmail.com> wrote:
>
>
> > Am 23.10.2015 um 19:18 schrieb Jeremy Puhlman <jpuhlman at mvista.com>:
> >
> > 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 at 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]
>
> Did you ask p5-porters?
>
> I strongly suggest to open an RT for 2 reasons:
>
> 1) Let the people know that I'm not the only one encountering problems
with the way they deal situation

Yeah we have been having fun cross compiling perl since 2000, lots of fun.

> 2) Those tickets enlighten over time.
>
> Cross-compiling is not restricted to embedded.
>
> The patch self looks more than sane and I'm happy to support it when
reported (so tell me the ticket number or put me on CC when creating the
ticket).

Is there a specific mailing list?
> > +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
>
> Cheers
> --
> Jens Rehsack - rehsack at gmail.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20151024/02f0730e/attachment-0002.html>


More information about the Openembedded-core mailing list