On Mär 18 2025, Daniel P. Berrangé wrote: > That would get the synchronization behaviour of Linux vfork, > but I'm not sure it'd get the performance benefits (of avoiding > page table copying) which is what Andreas mentioned as the > desired thing ?
For an emulation performance isn't a thing, what we need is accuracy. The current issue I have right now is that the MozillaFirefox package fails to build because posix_spawn behaves unexpectedly. https://build.opensuse.org/package/live_build_log/openSUSE:Factory:RISCV/MozillaFirefox/standard/riscv64 [ 666s] 4:55.15 Traceback (most recent call last): [ 666s] 4:55.16 File "/home/abuild/rpmbuild/BUILD/MozillaFirefox-136.0.1-build/firefox-136.0.1/security/nss/./coreconf/werror.py", line 80, in <module> [ 666s] 4:55.16 main() [ 666s] 4:55.16 ~~~~^^ [ 666s] 4:55.16 File "/home/abuild/rpmbuild/BUILD/MozillaFirefox-136.0.1-build/firefox-136.0.1/security/nss/./coreconf/werror.py", line 10, in main [ 666s] 4:55.16 cc_is_clang = 'clang' in subprocess.check_output( [ 666s] 4:55.16 ~~~~~~~~~~~~~~~~~~~~~~~^ [ 666s] 4:55.16 [cc, '--version'], universal_newlines=True, stderr=sink) [ 666s] 4:55.16 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ 666s] 4:55.16 File "/usr/lib64/python3.13/subprocess.py", line 474, in check_output [ 666s] 4:55.16 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, [ 666s] 4:55.16 ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ 666s] 4:55.17 **kwargs).stdout [ 666s] 4:55.17 ^^^^^^^^^ [ 666s] 4:55.17 File "/usr/lib64/python3.13/subprocess.py", line 579, in run [ 666s] 4:55.17 raise CalledProcessError(retcode, process.args, [ 666s] 4:55.17 output=stdout, stderr=stderr) [ 666s] 4:55.17 subprocess.CalledProcessError: Command '['/usr/bin/ccache /usr/bin/gcc', '--version']' returned non-zero exit status 127. A real posix_spawn would have set errno to ENOENT. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."