vapier      14/08/04 06:45:22

  Modified:             qemu-binfmt.initd-r1
  Log:
  Version bump #518806 by José Romildo Malaquias.  Add aarch64 to the init 
script, and switch flags from P to OC until qemu itself can understand the 
extra argv[0] #512780 by Bertrand Jacquin.
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
D2E96200)

Revision  Changes    Path
1.4                  app-emulation/qemu/files/qemu-binfmt.initd-r1

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/qemu/files/qemu-binfmt.initd-r1?rev=1.4&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/qemu/files/qemu-binfmt.initd-r1?rev=1.4&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/qemu/files/qemu-binfmt.initd-r1?r1=1.3&r2=1.4

Index: qemu-binfmt.initd-r1
===================================================================
RCS file: 
/var/cvsroot/gentoo-x86/app-emulation/qemu/files/qemu-binfmt.initd-r1,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- qemu-binfmt.initd-r1        17 Feb 2013 22:05:22 -0000      1.3
+++ qemu-binfmt.initd-r1        4 Aug 2014 06:45:21 -0000       1.4
@@ -1,16 +1,22 @@
 #!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: 
/var/cvsroot/gentoo-x86/app-emulation/qemu/files/qemu-binfmt.initd-r1,v 1.3 
2013/02/17 22:05:22 vapier Exp $
+# $Header: 
/var/cvsroot/gentoo-x86/app-emulation/qemu/files/qemu-binfmt.initd-r1,v 1.4 
2014/08/04 06:45:21 vapier Exp $
 
 # enable automatic i386/ARM/M68K/MIPS/SPARC/PPC/s390 program execution by the 
kernel
 
+# Defaulting to OC should be safe because it comes down to:
+#  - do we trust the interp itself to not be malicious?  yes; we built it.
+#  - do we trust the programs we're running?  ish; same permission as native
+#    binaries apply.  so if user can do bad stuff natively, cross isn't worse.
+: ${QEMU_BINFMT_FLAGS:=OC}
+
 depend() {
     after procfs
 }
 
 start() {
-   ebegin "Registering qemu-user binaries"
+   ebegin "Registering qemu-user binaries (flags: ${QEMU_BINFMT_FLAGS})"
 
    if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
       modprobe -q binfmt_misc
@@ -50,55 +56,58 @@
 
    # register the interpreter for each cpu except for the native one
    if [ $cpu != "i386" -a -x "/usr/bin/qemu-i386" ] ; then
-      echo 
':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:P'
 > /proc/sys/fs/binfmt_misc/register
-      echo 
':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo 
':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:OC'
 > /proc/sys/fs/binfmt_misc/register
+      echo 
':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "alpha" -a -x "/usr/bin/qemu-alpha" ] ; then
-      echo 
':alpha:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-alpha:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo 
':alpha:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-alpha:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "arm" -a -x "/usr/bin/qemu-arm" ] ; then
-      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\x00\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:P'
 > /proc/sys/fs/binfmt_misc/register
+      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\x00\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "arm" -a -x "/usr/bin/qemu-armeb" ] ; then
-      echo   
':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:OC'
 > /proc/sys/fs/binfmt_misc/register
+   fi
+   if [ $cpu != "aarch64" -a -x "/usr/bin/qemu-aarch64" ] ; then
+      echo 
':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "sparc" -a -x "/usr/bin/qemu-sparc" ] ; then
-      echo   
':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "ppc" -a -x "/usr/bin/qemu-ppc" ] ; then
-      echo   
':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "m68k" -a -x "/usr/bin/qemu-m68k" ] ; then
-      echo   'Please check cpu value and header information for m68k!'
-      echo   
':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-m68k:P'
 > /proc/sys/fs/binfmt_misc/register
+      #echo   'Please check cpu value and header information for m68k!'
+      echo   
':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-m68k:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips" ] ; then
       # FIXME: We could use the other endianness on a MIPS host.
-      echo   
':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsel" ] ; then
-      echo   
':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsel:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsel:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsn32" ] ; then
-      echo   
':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mipsn32:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mipsn32:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsn32el" ] ; then
-      echo   
':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsn32el:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsn32el:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips64" ] ; then
-      echo   
':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips64:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips64:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips64el" ] ; then
-      echo   
':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mips64el:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo   
':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mips64el:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "sh" -a -x "/usr/bin/qemu-sh4" ] ; then
-      echo    
':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-sh4:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo    
':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-sh4:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    if [ $cpu != "sh" -a -x "/usr/bin/qemu-sh4eb" ] ; then
-      echo    
':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sh4eb:P'
 > /proc/sys/fs/binfmt_misc/register
+      echo    
':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sh4eb:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
-   if [ $cpu != "s390x" -a -x "/usr/local/bin/qemu-s390x" ] ; then
-      echo   
':s390x:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-s390x:P'
 > /proc/sys/fs/binfmt_misc/register
+   if [ $cpu != "s390x" -a -x "/usr/bin/qemu-s390x" ] ; then
+      echo   
':s390x:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-s390x:OC'
 > /proc/sys/fs/binfmt_misc/register
    fi
    eend $?
 }
@@ -110,6 +119,7 @@
    arches="${arches} i386 i486"
    arches="${arches} alpha"
    arches="${arches} arm armeb"
+   arches="${arches} aarch64"
    arches="${arches} sparc"
    arches="${arches} ppc"
    arches="${arches} m68k"




Reply via email to