diff -Nru binfmt-support-2.1.6/ChangeLog binfmt-support-2.1.7/ChangeLog --- binfmt-support-2.1.6/ChangeLog 2016-02-21 15:12:08.000000000 +0000 +++ binfmt-support-2.1.7/ChangeLog 2017-07-09 12:59:14.000000000 +0000 @@ -1,3 +1,29 @@ +2017-07-09 Colin Watson + + Version: 2.1.7. + +2017-07-09 Dan Nicholson + + Add support for fix-binary flag + + Recent kernels provide a binfmt flag F referred to as fix binary[1]. + This flag instructs the kernel to open the interpreter immediately and + use always use the opened image. This has a big advantage in containers + or chroots where the interpreter may not exist at the specified path. + + A primary use case would be for a static linked QEMU user emulator where + an architecture can be emulated in a container or chroot without any + alterations so long as the binfmt configuration is handled on the host. + + 1. https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html + +2017-07-09 Colin Watson + + Various build system upgrades + + Upgrade to Automake 1.15.1, config.guess 2016-10-02, and config.sub + 2016-11-04. + 2016-02-21 Colin Watson Version: 2.1.6. diff -Nru binfmt-support-2.1.6/Makefile.in binfmt-support-2.1.7/Makefile.in --- binfmt-support-2.1.6/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/Makefile.in 2017-07-09 12:51:06.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1264,7 +1264,7 @@ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir @@ -1290,7 +1290,7 @@ @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -1308,7 +1308,7 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -1318,7 +1318,7 @@ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac diff -Nru binfmt-support-2.1.6/NEWS binfmt-support-2.1.7/NEWS --- binfmt-support-2.1.6/NEWS 2016-02-21 15:08:18.000000000 +0000 +++ binfmt-support-2.1.7/NEWS 2017-07-09 12:58:21.000000000 +0000 @@ -1,3 +1,9 @@ +binfmt-support 2.1.7 (9 July 2017) +================================== + +Add an "update-binfmts --fix-binary yes" option, mapping to the 'F' flag in +Linux binfmt_misc's flags field. Thanks to Dan Nicholson. + binfmt-support 2.1.6 (21 February 2016) ======================================= diff -Nru binfmt-support-2.1.6/aclocal.m4 binfmt-support-2.1.7/aclocal.m4 --- binfmt-support-2.1.6/aclocal.m4 2016-02-21 15:08:38.000000000 +0000 +++ binfmt-support-2.1.7/aclocal.m4 2017-07-09 12:51:04.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -297,7 +297,7 @@ ])dnl PKG_CHECK_VAR # po.m4 serial 24 (gettext-0.19) -dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -750,7 +750,7 @@ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1" ]) -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -765,7 +765,7 @@ [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.15.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -781,14 +781,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.15.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -840,7 +840,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -871,7 +871,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1062,7 +1062,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1138,7 +1138,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1335,7 +1335,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1356,7 +1356,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1378,7 +1378,7 @@ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1413,7 +1413,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1463,7 +1463,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1502,7 +1502,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1531,7 +1531,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1578,7 +1578,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1597,7 +1597,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1678,7 +1678,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1738,7 +1738,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1766,7 +1766,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1785,7 +1785,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/build-aux/config.guess binfmt-support-2.1.7/build-aux/config.guess --- binfmt-support-2.1.6/build-aux/config.guess 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/build-aux/config.guess 2017-07-09 12:51:06.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2015 Free Software Foundation, Inc. +# Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2015-08-20' +timestamp='2016-10-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2015 Free Software Foundation, Inc. +Copyright 1992-2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -186,9 +186,12 @@ *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. + # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in - arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -237,6 +240,10 @@ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; @@ -268,42 +275,42 @@ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; + UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; + UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; + UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; + UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; + UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; + UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; + UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; + UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; + UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 @@ -376,16 +383,16 @@ exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build - SUN_ARCH="i386" + SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then - SUN_ARCH="x86_64" + SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -410,7 +417,7 @@ exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} @@ -635,13 +642,13 @@ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi @@ -680,11 +687,11 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] + if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build @@ -697,12 +704,12 @@ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then - HP_ARCH="hppa2.0w" + HP_ARCH=hppa2.0w else - HP_ARCH="hppa64" + HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} @@ -807,14 +814,14 @@ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) @@ -896,7 +903,7 @@ exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix @@ -919,7 +926,7 @@ EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) @@ -965,6 +972,9 @@ ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -990,6 +1000,9 @@ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; @@ -1022,6 +1035,9 @@ ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; @@ -1120,7 +1136,7 @@ # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; @@ -1269,6 +1285,9 @@ SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1282,9 +1301,9 @@ UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in @@ -1306,7 +1325,7 @@ exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then + if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi @@ -1337,7 +1356,7 @@ # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = "386"; then + if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" @@ -1379,7 +1398,7 @@ echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos @@ -1390,23 +1409,25 @@ x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; esac cat >&2 < in order to provide the needed -information to handle your system. +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp diff -Nru binfmt-support-2.1.6/build-aux/config.sub binfmt-support-2.1.7/build-aux/config.sub --- binfmt-support-2.1.6/build-aux/config.sub 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/build-aux/config.sub 2017-07-09 12:51:06.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2015 Free Software Foundation, Inc. +# Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2015-08-20' +timestamp='2016-11-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -33,7 +33,7 @@ # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -53,8 +53,7 @@ me=`echo "$0" | sed -e 's,.*/,,'` usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. @@ -68,7 +67,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2015 Free Software Foundation, Inc. +Copyright 1992-2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -118,7 +117,7 @@ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -302,6 +301,7 @@ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ @@ -429,6 +429,7 @@ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ @@ -521,7 +522,7 @@ basic_machine=i386-pc os=-aros ;; - asmjs) + asmjs) basic_machine=asmjs-unknown ;; aux) @@ -644,6 +645,14 @@ basic_machine=m68k-bull os=-sysv3 ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; ebmon29k) basic_machine=a29k-amd os=-ebmon @@ -1023,7 +1032,7 @@ ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) @@ -1033,7 +1042,7 @@ ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) @@ -1383,14 +1392,14 @@ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ @@ -1399,7 +1408,8 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1531,6 +1541,8 @@ ;; -nacl*) ;; + -ios) + ;; -none) ;; *) diff -Nru binfmt-support-2.1.6/build-aux/depcomp binfmt-support-2.1.7/build-aux/depcomp --- binfmt-support-2.1.6/build-aux/depcomp 2016-02-21 15:08:42.000000000 +0000 +++ binfmt-support-2.1.7/build-aux/depcomp 2017-07-09 12:51:07.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2013-05-30.07; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -786,6 +786,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru binfmt-support-2.1.6/configure binfmt-support-2.1.7/configure --- binfmt-support-2.1.6/configure 2016-02-21 15:08:40.000000000 +0000 +++ binfmt-support-2.1.7/configure 2017-07-09 12:58:21.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for binfmt-support 2.1.6. +# Generated by GNU Autoconf 2.69 for binfmt-support 2.1.7. # # Report bugs to . # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='binfmt-support' PACKAGE_TARNAME='binfmt-support' -PACKAGE_VERSION='2.1.6' -PACKAGE_STRING='binfmt-support 2.1.6' +PACKAGE_VERSION='2.1.7' +PACKAGE_STRING='binfmt-support 2.1.7' PACKAGE_BUGREPORT='cjwatson@debian.org' PACKAGE_URL='' @@ -1968,7 +1968,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures binfmt-support 2.1.6 to adapt to many kinds of systems. +\`configure' configures binfmt-support 2.1.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2039,7 +2039,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of binfmt-support 2.1.6:";; + short | recursive ) echo "Configuration of binfmt-support 2.1.7:";; esac cat <<\_ACEOF @@ -2151,7 +2151,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -binfmt-support configure 2.1.6 +binfmt-support configure 2.1.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2803,7 +2803,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by binfmt-support $as_me 2.1.6, which was +It was created by binfmt-support $as_me 2.1.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3696,7 +3696,7 @@ # Define the identity of the package. PACKAGE='binfmt-support' - VERSION='2.1.6' + VERSION='2.1.7' cat >>confdefs.h <<_ACEOF @@ -19301,7 +19301,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by binfmt-support $as_me 2.1.6, which was +This file was extended by binfmt-support $as_me 2.1.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19367,7 +19367,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -binfmt-support config.status 2.1.6 +binfmt-support config.status 2.1.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru binfmt-support-2.1.6/configure.ac binfmt-support-2.1.7/configure.ac --- binfmt-support-2.1.6/configure.ac 2016-02-21 15:08:07.000000000 +0000 +++ binfmt-support-2.1.7/configure.ac 2017-07-09 12:58:21.000000000 +0000 @@ -20,7 +20,7 @@ # USA. # Initialise and check we're in the correct directory. -AC_INIT([binfmt-support], [2.1.6], [cjwatson@debian.org]) +AC_INIT([binfmt-support], [2.1.7], [cjwatson@debian.org]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([1.11 -Wall -Werror foreign parallel-tests]) AM_MAINTAINER_MODE diff -Nru binfmt-support-2.1.6/debian/.git-dpm binfmt-support-2.1.7/debian/.git-dpm --- binfmt-support-2.1.6/debian/.git-dpm 2016-02-21 15:19:38.000000000 +0000 +++ binfmt-support-2.1.7/debian/.git-dpm 2017-07-09 13:08:01.000000000 +0000 @@ -1,8 +1,8 @@ # see git-dpm(1) from git-dpm package -e4b43b029dff330e10d4c4e5c31355e89f4157f2 -e4b43b029dff330e10d4c4e5c31355e89f4157f2 -e4b43b029dff330e10d4c4e5c31355e89f4157f2 -e4b43b029dff330e10d4c4e5c31355e89f4157f2 -binfmt-support_2.1.6.orig.tar.gz -c99074d5b191d11815535fc714345da4106e535a -687013 +34530ab8d5aa7bc51e0674ae15c69ae05cfeab4c +34530ab8d5aa7bc51e0674ae15c69ae05cfeab4c +34530ab8d5aa7bc51e0674ae15c69ae05cfeab4c +34530ab8d5aa7bc51e0674ae15c69ae05cfeab4c +binfmt-support_2.1.7.orig.tar.gz +0e658eea8fb4ced80d3bc2beb5fe41dfb3df05d0 +687849 diff -Nru binfmt-support-2.1.6/debian/changelog binfmt-support-2.1.7/debian/changelog --- binfmt-support-2.1.6/debian/changelog 2016-02-21 15:25:52.000000000 +0000 +++ binfmt-support-2.1.7/debian/changelog 2023-11-24 06:14:46.000000000 +0000 @@ -1,3 +1,25 @@ +binfmt-support (2.1.7-1~16.04.sav0) xenial; urgency=medium + + * Backport to Xenial + + -- Rob Savoury Thu, 23 Nov 2023 22:14:46 -0800 + +binfmt-support (2.1.7-1) unstable; urgency=medium + + * New upstream release. + - Add an "update-binfmts --fix-binary yes" option, mapping to the 'F' + flag in Linux binfmt_misc's flags field (thanks, Dan Nicholson; + closes: #853820). + * Policy version 4.0.0: use HTTPS form of copyright-format URL. + + -- Colin Watson Sun, 09 Jul 2017 14:15:55 +0100 + +binfmt-support (2.1.6-2) unstable; urgency=medium + + * Policy version 3.9.8: no changes required. + + -- Colin Watson Sun, 11 Dec 2016 16:53:50 +0000 + binfmt-support (2.1.6-1) unstable; urgency=medium * New upstream release. diff -Nru binfmt-support-2.1.6/debian/control binfmt-support-2.1.7/debian/control --- binfmt-support-2.1.6/debian/control 2016-02-21 15:19:38.000000000 +0000 +++ binfmt-support-2.1.7/debian/control 2017-07-09 13:15:15.000000000 +0000 @@ -2,7 +2,7 @@ Section: admin Priority: optional Maintainer: Colin Watson -Standards-Version: 3.9.6 +Standards-Version: 4.0.0 Build-Depends: debhelper (>= 9~), pkg-config, libpipeline-dev, dh-autoreconf, dh-systemd Homepage: http://binfmt-support.nongnu.org/ Vcs-Git: https://anonscm.debian.org/git/binfmt-support/binfmt-support.git diff -Nru binfmt-support-2.1.6/debian/copyright binfmt-support-2.1.7/debian/copyright --- binfmt-support-2.1.6/debian/copyright 2016-02-21 15:19:38.000000000 +0000 +++ binfmt-support-2.1.7/debian/copyright 2017-07-09 13:09:58.000000000 +0000 @@ -1,4 +1,4 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: binfmt-support Upstream-Contact: Colin Watson diff -Nru binfmt-support-2.1.6/doc/Makefile.in binfmt-support-2.1.7/doc/Makefile.in --- binfmt-support-2.1.6/doc/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/doc/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/gnulib/lib/Makefile.in binfmt-support-2.1.7/gnulib/lib/Makefile.in --- binfmt-support-2.1.6/gnulib/lib/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/gnulib/lib/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1214,7 +1214,6 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argp-ba.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argp-eexst.Po@am__quote@ @@ -1496,7 +1495,7 @@ mostlyclean-am distclean: distclean-recursive - -rm -rf $(DEPDIR) ./$(DEPDIR) + -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1542,7 +1541,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -rf $(DEPDIR) ./$(DEPDIR) + -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff -Nru binfmt-support-2.1.6/init/Makefile.in binfmt-support-2.1.7/init/Makefile.in --- binfmt-support-2.1.6/init/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/init/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/init/openrc/Makefile.in binfmt-support-2.1.7/init/openrc/Makefile.in --- binfmt-support-2.1.6/init/openrc/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/init/openrc/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/init/systemd/Makefile.in binfmt-support-2.1.7/init/systemd/Makefile.in --- binfmt-support-2.1.6/init/systemd/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/init/systemd/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/init/sysvinit/Makefile.in binfmt-support-2.1.7/init/sysvinit/Makefile.in --- binfmt-support-2.1.6/init/sysvinit/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/init/sysvinit/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/init/upstart/Makefile.in binfmt-support-2.1.7/init/upstart/Makefile.in --- binfmt-support-2.1.6/init/upstart/Makefile.in 2016-02-21 15:08:41.000000000 +0000 +++ binfmt-support-2.1.7/init/upstart/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/man/Makefile.in binfmt-support-2.1.7/man/Makefile.in --- binfmt-support-2.1.6/man/Makefile.in 2016-02-21 15:08:42.000000000 +0000 +++ binfmt-support-2.1.7/man/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/man/update-binfmts.man8 binfmt-support-2.1.7/man/update-binfmts.man8 --- binfmt-support-2.1.6/man/update-binfmts.man8 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/man/update-binfmts.man8 2017-07-09 12:48:21.000000000 +0000 @@ -237,6 +237,16 @@ .Li argv[0] when running the interpreter, rather than overwriting it with the full path to the binary. +.It Fl Fl fix\-binary Cm yes , Fl Fl fix\-binary Cm no +Whether to open the interpreter binary immediately and always use the opened +image. +This allows the interpreter from the host to be used regardless of usage in +chroots or different mount namespaces. +The default behaviour is +.Cm no , +meaning that the kernel should open the interpreter binary lazily when +needed. +This option requires Linux 4.8 or newer. .El .Ss FORMAT FILES A format file is a sequence of options, one per line, corresponding roughly @@ -259,8 +269,9 @@ .Ar extension , .Ar detector , .Ar credentials , +.Ar preserve , and -.Ar preserve +.Ar fix\-binary options correspond to the command-line options of the same names. .Sh EXIT STATUS .Bl -tag -width 4n diff -Nru binfmt-support-2.1.6/src/Makefile.in binfmt-support-2.1.7/src/Makefile.in --- binfmt-support-2.1.6/src/Makefile.in 2016-02-21 15:08:42.000000000 +0000 +++ binfmt-support-2.1.7/src/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/src/format.c binfmt-support-2.1.7/src/format.c --- binfmt-support-2.1.6/src/format.c 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/src/format.c 2017-07-09 12:35:00.000000000 +0000 @@ -77,6 +77,7 @@ READ_LINE (detector, 1); READ_LINE (credentials, 1); READ_LINE (preserve, 1); + READ_LINE (fix_binary, 1); #undef READ_LINE @@ -108,6 +109,7 @@ SET_FIELD (detector); SET_FIELD (credentials); SET_FIELD (preserve); + SET_FIELD (fix_binary); #undef SET_FIELD @@ -182,6 +184,7 @@ WRITE_FIELD (detector); WRITE_FIELD (credentials); WRITE_FIELD (preserve); + WRITE_FIELD (fix_binary); #undef WRITE_FIELD @@ -207,6 +210,7 @@ PRINT_FIELD (detector); PRINT_FIELD (credentials); PRINT_FIELD (preserve); + PRINT_FIELD (fix_binary); #undef PRINT_FIELD } @@ -231,6 +235,7 @@ free (binfmt->detector); free (binfmt->credentials); free (binfmt->preserve); + free (binfmt->fix_binary); free (binfmt); } diff -Nru binfmt-support-2.1.6/src/format.h binfmt-support-2.1.7/src/format.h --- binfmt-support-2.1.6/src/format.h 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/src/format.h 2017-07-09 12:35:00.000000000 +0000 @@ -32,6 +32,7 @@ char *detector; char *credentials; char *preserve; + char *fix_binary; }; struct binfmt *binfmt_load (const char *name, const char *filename, int quiet); diff -Nru binfmt-support-2.1.6/src/tests/Makefile.in binfmt-support-2.1.7/src/tests/Makefile.in --- binfmt-support-2.1.6/src/tests/Makefile.in 2016-02-21 15:08:42.000000000 +0000 +++ binfmt-support-2.1.7/src/tests/Makefile.in 2017-07-09 12:51:07.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru binfmt-support-2.1.6/src/tests/detectors binfmt-support-2.1.7/src/tests/detectors --- binfmt-support-2.1.6/src/tests/detectors 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/src/tests/detectors 2017-07-09 12:57:51.000000000 +0000 @@ -60,6 +60,7 @@ $tmpdir/detector-1 + EOF expect_pass 'detector 1: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-1" "$tmpdir/1-admin.exp"' @@ -84,6 +85,7 @@ $tmpdir/detector-2 + EOF expect_pass 'detector 2: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-2" "$tmpdir/2-admin.exp"' @@ -108,6 +110,7 @@ + EOF expect_pass 'no detector: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-3" "$tmpdir/3-admin.exp"' diff -Nru binfmt-support-2.1.6/src/tests/display binfmt-support-2.1.7/src/tests/display --- binfmt-support-2.1.6/src/tests/display 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/src/tests/display 2017-07-09 12:57:18.000000000 +0000 @@ -38,6 +38,7 @@ + EOF expect_pass 'magic: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-magic" "$tmpdir/1-admin.exp"' @@ -63,6 +64,7 @@ + EOF expect_pass 'extension with package: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-extension" "$tmpdir/2-admin.exp"' diff -Nru binfmt-support-2.1.6/src/tests/enable binfmt-support-2.1.7/src/tests/enable --- binfmt-support-2.1.6/src/tests/enable 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/src/tests/enable 2017-07-09 12:57:32.000000000 +0000 @@ -38,6 +38,7 @@ + EOF expect_pass 'magic: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-magic" "$tmpdir/1-admin.exp"' @@ -63,6 +64,7 @@ + EOF expect_pass 'extension: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-extension" "$tmpdir/2-admin.exp"' diff -Nru binfmt-support-2.1.6/src/tests/import binfmt-support-2.1.7/src/tests/import --- binfmt-support-2.1.6/src/tests/import 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/src/tests/import 2017-07-09 12:57:04.000000000 +0000 @@ -43,6 +43,7 @@ + EOF expect_pass 'magic: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-magic" "$tmpdir/1-admin.exp"' @@ -74,6 +75,7 @@ + EOF expect_pass 'magic with mask: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test-magic-mask" "$tmpdir/2-admin.exp"' diff -Nru binfmt-support-2.1.6/src/tests/install binfmt-support-2.1.7/src/tests/install --- binfmt-support-2.1.6/src/tests/install 2014-08-19 02:28:31.000000000 +0000 +++ binfmt-support-2.1.7/src/tests/install 2017-07-09 12:56:49.000000000 +0000 @@ -38,6 +38,7 @@ + EOF expect_pass 'magic: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test" "$tmpdir/1-admin.exp"' @@ -69,6 +70,7 @@ + EOF expect_pass 'magic with offset and mask: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test" "$tmpdir/2-admin.exp"' @@ -101,6 +103,7 @@ + EOF expect_pass 'extension: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test" "$tmpdir/3-admin.exp"' @@ -137,6 +140,7 @@ + EOF expect_pass 'extension with package: admindir entry OK' \ 'diff -u "$tmpdir/var/lib/binfmts/test" "$tmpdir/4-admin.exp"' diff -Nru binfmt-support-2.1.6/src/update-binfmts.c binfmt-support-2.1.7/src/update-binfmts.c --- binfmt-support-2.1.6/src/update-binfmts.c 2016-02-20 20:49:33.000000000 +0000 +++ binfmt-support-2.1.7/src/update-binfmts.c 2017-07-09 12:41:40.000000000 +0000 @@ -363,6 +363,7 @@ const char *interpreter; const char *credentials; const char *preserve; + const char *fix_binary; char *regstring; procdir_name = xasprintf ("%s/%s", procdir, name); @@ -417,10 +418,13 @@ ? "C" : ""; preserve = (binfmt->preserve && !strcmp (binfmt->preserve, "yes")) ? "P" : ""; - regstring = xasprintf (":%s:%c:%s:%s:%s:%s:%s%s\n", + fix_binary = + (binfmt->fix_binary && !strcmp (binfmt->fix_binary, "yes")) + ? "F" : ""; + regstring = xasprintf (":%s:%c:%s:%s:%s:%s:%s%s%s\n", name, type, binfmt->offset, binfmt->magic, binfmt->mask, interpreter, - credentials, preserve); + credentials, preserve, fix_binary); if (test) printf ("enable %s with the following format string:\n %s", name, regstring); @@ -808,6 +812,7 @@ OPT_DETECTOR, OPT_CREDENTIALS, OPT_PRESERVE, + OPT_FIX_BINARY, OPT_PACKAGE, OPT_ADMINDIR, OPT_IMPORTDIR, @@ -850,6 +855,9 @@ "use credentials of original binary for interpreter (yes/no)" }, { "preserve", OPT_PRESERVE, "YES/NO", OPTION_HIDDEN, "preserve argv[0] of original binary for interpreter (yes/no)" }, + { "fix-binary", OPT_FIX_BINARY, "YES/NO", OPTION_HIDDEN, + "open interpreter binary immediately and always use open image " + "(yes/no)" }, { "package", OPT_PACKAGE, "PACKAGE-NAME", 0, "for --install and --remove, specify the current package name", 1 }, { "admindir", OPT_ADMINDIR, "DIRECTORY", 0, @@ -876,6 +884,7 @@ const char *detector; const char *credentials; const char *preserve; + const char *fix_binary; } spec; static const char *mode_name (enum opts m) @@ -1004,6 +1013,10 @@ spec.preserve = arg; return 0; + case OPT_FIX_BINARY: + spec.fix_binary = arg; + return 0; + case OPT_PACKAGE: if (package) argp_error (state, "more than one --package option given"); @@ -1116,6 +1129,7 @@ ADD_SPEC (detector); ADD_SPEC (credentials); ADD_SPEC (preserve); + ADD_SPEC (fix_binary); #undef ADD_SPEC binfmt = binfmt_new (name, format_args);