On 25.08.14 11:09, Riku Voipio wrote: > 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.
I would very much prefer if we could stick with only a single binary. And yes, switching semantics when you use binfmt wrappers will hurt for a short while, but after that everyone will have their setups changed and we're safe for the future. Alex