Files
poky/meta/recipes-devtools/perl/perl/perl-dynloader.patch
Robert Yang 3f7e55baa6 perl: 5.20.0 -> 5.22.0
* Remove:
  - perl-5.14.3-fix-CVE-2010-4777.patch: backport
  - fix-FF_MORE-crash.patch: backport
  - perl-rprovides.inc: it was introduced by 5.8.7, the lines in it are like:
    RPROVIDES_perl-module-b-asmdata = "perl-module-${TARGET_SYS}-b-asmdata"
    If some packages do RPDEND on something like
    perl-module-${TARGET_SYS}-b-asmdatam, we need update the package rather
    than keep use RPROVIDES in perl-rprovides.inc, so remove it.
  - perl-rprovides_5.20.0.inc: it only has one line:
    RPROVIDES_perl-module-module-build, but the perl-module-module-build
    is gone in 5.22.0, so remove it.

* Update:
  - debian patches from http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.20.0-1.debian.tar.xz
  - Makefile.SH.patch
  - Merge 0001-Makefile.SH-fix-do_install-failed.patch into Makefile.SH.patch
  - native-nopacklist.patch
  - config.sh

* The CGI.pm and Module::Build disappear from core, so no
  perl-module-module-build.rpm any more, more info:
  http://perltricks.com/article/165/2015/4/10/A-preview-of-Perl-5-22

(From OE-Core rev: 06d43a90acbe63baea62d220659149a3ff2f9198)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-01 15:39:58 +01:00

35 lines
1.2 KiB
Diff

Upstream-Status:Inappropriate [embedded specific]
Allow the location that .so files are searched for for dynamic
loading to be changed via an environment variable. This is to allow
us to load .so's from the host system while building for the target
system.
Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
Index: perl-5.14.2/dist/XSLoader/XSLoader_pm.PL
===================================================================
--- perl-5.14.2.orig/dist/XSLoader/XSLoader_pm.PL
+++ perl-5.14.2/dist/XSLoader/XSLoader_pm.PL
@@ -28,6 +28,20 @@ sub load {
my ($module, $modlibname) = caller();
+ # OE: Allow env to form dynamic loader to look in a different place
+ # This is so it finds the host .so files, not the targets
+ if (defined $ENV{PERLHOSTLIB})
+ {
+ my $hostlib = $ENV{PERLHOSTLIB};
+ print STDERR "*** Module name IN: $modlibname\n";
+ ($p1, $p2, $p3, $p4, $p5) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl\/[0-9\.]*\/)?)(.*)$/;
+ print STDERR "*** p1: $p1 p3: $p3 p5: $p5\n";
+ if ( $p1 ne "" ) {
+ $modlibname = $hostlib.$p5;
+ }
+ print STDERR "*** Module name OUT: $modlibname\n";
+ }
+
if (@_) {
$module = $_[0];
} else {