summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Qiang <qiang.z.zhang@intel.com>2013-10-24 11:08:24 +0800
committerZhang Qiang <qiang.z.zhang@intel.com>2013-10-24 11:13:31 +0800
commit039eeafa6b52fd126f38fed9cd2fdf36a26a3065 (patch)
tree350250777173fd232e0f6d26ff6035fa5df6758f
parent08c67cdd95094a4cf6b423c24b01ac813502d1ba (diff)
downloadqemu-accel-039eeafa6b52fd126f38fed9cd2fdf36a26a3065.tar.gz
qemu-accel-039eeafa6b52fd126f38fed9cd2fdf36a26a3065.tar.bz2
qemu-accel-039eeafa6b52fd126f38fed9cd2fdf36a26a3065.zip
Change-Id: I31e0341ed257fad59e40374d91900b20bb8b9928 Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
-rw-r--r--packaging/baselibs.conf41
1 files changed, 41 insertions, 0 deletions
diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf
index 2824b08..9110164 100644
--- a/packaging/baselibs.conf
+++ b/packaging/baselibs.conf
@@ -4,4 +4,45 @@ arch x86_64 targets armv7l:cross-arm
targettype cross-arm package qemu-accel-armv7l
autoreqprov off
extension -cross
+ post "set -x"
+ post "if [ $(uname -m) = armv7l ]; then"
+ post " builtin echo armv7l arch"
+ post " # XXX find a way around this for cross-gcc"
+ post " mkdir -p /usr/lib64/gcc /lib64 || true"
+ post " ln -sf ../../lib/gcc/armv7l-tizen-linux-gnueabi /usr/lib64/gcc/armv7l-tizen-linux-gnueabi || true"
+ post " ln -sf %{our_path}/lib64/libnsl.so.1 /lib64/libnsl.so.1 || true"
+ post "fi"
+ post "# use qemu-arm{,-binfmt} from a safe directory, so even overwriting"
+ post "# /usr/bin/$file won't affect our ability to run arm code"
+ post ""
+ post "# load the binfmt_misc module"
+ post "if [ ! -d /proc/sys/fs/binfmt_misc ]; then"
+ post " builtin echo Calling modprobe"
+ post " /sbin/modprobe binfmt_misc"
+ post "fi"
+ post ""
+ post "did_mount_it=''"
+ post ""
+ post "if [ ! -f /proc/sys/fs/binfmt_misc/register ]; then"
+ post " builtin echo mounting binfmt_misc"
+ post " mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc"
+ post " did_mount_it=1"
+ post "fi"
+ post ""
+ post "if [ -e /proc/sys/fs/binfmt_misc/arm ]; then"
+ post " builtin echo Registering accelerated handler"
+ post " builtin echo -1 > /proc/sys/fs/binfmt_misc/arm"
+ post " builtin echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/qemu/qemu-arm-binfmt:P' > /proc/sys/fs/binfmt_misc/register"
+ post "fi"
+ post ""
+ post "if [ $did_mount_it ]; then "
+ post " builtin echo "Unmounting again.";"
+ post " umount /proc/sys/fs/binfmt_misc"
+ post "fi"
+ post ""
+ post "builtin echo All done"
+ post ""
+ post "# Fix up sysroot paths"
+ post "rm -rf /usr/armv7l-tizen-linux-gnueabi/lib"
+ post "ln -s /lib /usr/armv7l-tizen-linux-gnueabi/usr/lib"
+/