Front page | perl.perl5.porters |
Postings from September 2012
[perl #114798] Configure: add support of qemu
Thread Next
From:
Francois PERRAD
Date:
September 9, 2012 21:03
Subject:
[perl #114798] Configure: add support of qemu
Message ID:
rt-3.6.HEAD-11172-1347173509-1250.114798-75-0@perl.org
# New Ticket Created by Francois PERRAD
# Please include the string: [perl #114798]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=114798 >
This is a bug report for perl from francois.perrad@gadz.org,
generated with the help of perlbug 1.39 running under perl 5.14.2.
-----------------------------------------------------------------
[Please describe your issue here]
my goal is the cross-compiling of Perl with Buildroot,
see http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg191592.html
my last patch against Buildroot is http://patchwork.ozlabs.org/patch/182554/
(the recipe is in package/perl/perl.mk)
So, Configure needs a support of qemu (user mode).
Find below 3 patches against blead
>From 42abf7caea008ee7dc8a876d88e3dd4d7de3cc16 Mon Sep 17 00:00:00 2001
From: Francois Perrad <francois.perrad@gadz.org>
Date: Tue, 4 Sep 2012 16:26:09 +0200
Subject: [PATCH 1/3] add qemu support
$targetrun contains something like : qemu-arm, qemu-i386, qemu-ppc, qemu-x86_64
$qemulib is a path
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
Configure | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Configure b/Configure
index a1ba981..c78cf77 100755
--- a/Configure
+++ b/Configure
@@ -2911,6 +2911,14 @@ fi
$targetrun -l $targetuser $targethost "cd \$cwd && ./\$exe \$@"
EOF
;;
+ qemu*)
+ to=:
+ from=:
+ cat >$run <<EOF
+#!/bin/sh
+$targetrun -L $qemulib "\$@"
+EOF
+ ;;
*) echo "Unknown targetrun '$targetrun'" >&4
exit 1
;;
--
1.7.9.5
>From f686dacad60a327728141efa38dee1614a875368 Mon Sep 17 00:00:00 2001
From: Francois Perrad <francois.perrad@gadz.org>
Date: Tue, 4 Sep 2012 16:27:48 +0200
Subject: [PATCH 2/3] fix when cross-devel
$run must be used
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
Configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Configure b/Configure
index c78cf77..6cc87af 100755
--- a/Configure
+++ b/Configure
@@ -5059,7 +5059,7 @@ checkccflag='check=$1; flag=$2; callback=$3;
echo " ";
echo "Checking if your compiler accepts $flag" 2>&1;
echo "int main(void) { return 0; }" > gcctest.c;
-if $cc -O2 $flag -o gcctest gcctest.c 2>gcctest.out && ./gcctest; then
+if $cc -O2 $flag -o gcctest gcctest.c 2>gcctest.out && $run ./gcctest; then
echo "Yes, it does." 2>&1;
if $test -s gcctest.out ; then
echo "But your platform does not like it:";
--
1.7.9.5
>From fc0278276b992191dd4d81a55a64f5b3b6922812 Mon Sep 17 00:00:00 2001
From: Francois Perrad <francois.perrad@gadz.org>
Date: Tue, 4 Sep 2012 16:45:30 +0200
Subject: [PATCH 3/3] add a default for targethost when qemu
targethost is mandatory with a ssh connection, but useless with qemu
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
Configure | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Configure b/Configure
index 6cc87af..ff81233 100755
--- a/Configure
+++ b/Configure
@@ -2840,6 +2840,9 @@ $define|true|[yY]*)
;;
*) echo "Using usrinc $usrinc." >&4 ;;
esac
+ case "$targetrun" in
+ qemu*) targethost=dummy ;;
+ esac
case "$targethost" in
'') echo "Targethost not defined." >&4; croak=y ;;
*) echo "Using targethost $targethost." >&4
--
1.7.9.5
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=core
severity=low
---
Site configuration information for perl 5.14.2:
Configured by Debian Project at Fri Aug 10 21:43:39 UTC 2012.
Summary of my perl5 (revision 5 version 14 subversion 2) configuration:
Platform:
osname=linux, osvers=2.6.42-26-generic,
archname=i686-linux-gnu-thread-multi-64int
uname='linux roseapple 2.6.42-26-generic #41-ubuntu smp thu jun 14
17:49:24 utc 2012 i686 i686 i386 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN
-Dcccdlflags=-fPIC -Darchname=i686-linux-gnu -Dprefix=/usr
-Dprivlib=/usr/share/perl/5.14 -Darchlib=/usr/lib/perl/5.14
-Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5
-Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local
-Dsitelib=/usr/local/share/perl/5.14.2
-Dsitearch=/usr/local/lib/perl/5.14.2 -Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1
-Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1
-Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh
-Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -DDEBUGGING=-g -Doptimize=-O2
-Duseshrplib -Dlibperl=libperl.so.5.14.2 -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.6.3', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long long', ivsize=8, nvtype='double', nvsize=8,
Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib/i386-linux-gnu /lib/../lib
/usr/lib/i386-linux-gnu /usr/lib/../lib /lib /usr/lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=, so=so, useshrplib=true, libperl=libperl.so.5.14.2
gnulibc_version='2.15'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib
-fstack-protector'
Locally applied patches:
---
@INC for perl 5.14.2:
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl
.
---
Environment for perl 5.14.2:
HOME=/home/user
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PERL_BADLANG (unset)
SHELL=/bin/bash
Thread Next
-
[perl #114798] Configure: add support of qemu
by Francois PERRAD