Hi, After weekend, I think the solution to using the P flag is to go back to Joakim's original patch:
http://lists.gnu.org/archive/html/qemu-devel/2014-07/msg02269.html With this, we get: If you continue to use qemu-x-static in your binfmt_misc registration, nothing changes - both old and new qemu work using the old binfmt registration. If you rename the binary qemu-x-binfmt, you need to update the binfmt_misc register to have P flag and new binary - you get correct argv with new qemu. Any old qemu you still have around, will stop working. But with "file not found" error rather than obscurely eating one of the arguments and running regardless. This leaves us with one case - people who are used to running qemu-x-static ./binary to test single binaries. Distro's will need leave a symlink from qemu-x-binfmt qemu-x-static. The "-binfmt" string check doesn't trigger, and qemu works as before. The key point: this way nobody's working setup will break, unless they update binfmt registration. As long as the change is done by users them self (I need correct argv0 -> I will update binfmt), there is very little surprise for anyone. There will be some fallout once *distributions* change the binfmt - users will notice their existing qemu chroots stop working with a "file not found" error for any binary they try to run. If we find even this breakage too much, I'm not sure this can be fixed. Riku