Peter Maydell <peter.mayd...@linaro.org> writes:
> On Wed, 7 Jul 2021 at 00:51, Richard Henderson > <richard.hender...@linaro.org> wrote: >> >> Supercedes: <20210619034329.532318-1-richard.hender...@linaro.org> >> ("[PATCH 00/12] linux-user: Load a vdso for x86_64 and hppa") >> >> Supercedes: <20210618192951.125651-1-richard.hender...@linaro.org> >> ("[PATCH v2 00/23] linux-user: Move signal trampolines to new page") >> >> Changes for v2: >> * Add vdsos for aarch64, arm, i386, riscv. >> * Drop setup_sigtramp for any target with a vdso. >> * Drop arm v1 signal support. >> * Simplify ppc encode_trampoline. > > I'm not planning to review this series, but a general comment: > I'm not really enthusiastic about the "vdso binaries checked into > git and the build mechanism is a random makefile that has to be > run by hand in the right environment" setup (and distros that > like to build everything from source probably won't be keen > either). AIUI the vdso's are really pretty simple stubs more in line with our stub launchers we currently have scattered around in our sources as hex bytes. They are a bit bigger but not by much. > At a minimum the handling of the cross-environment > stuff should be more automated and reproducible like 'make check-tcg'. > It would be useful also to get input from the Debian folks on > how they'd want to see the build-from-source requirements/setup > working... In Debian they require cross compilers so they can build the various blobs we use. However those blobs are packaged as "noarch" blobs and only built on x86 where all the cross compilers are functional. This is the reason you can't do a full build of QEMU packages on non-x86 platforms and why you need: apt build-dep -yy -a arm64 --arch-only qemu so it doesn't barf trying to find cross compilers that haven't been built for the host arch. So far my attempts to suggest the distros just simply package all cross compilers on all supported host architectures have been rebuffed on the basis it does tend to explode the build matrix a bit. The check-tcg compiler logic could be used to build the vdso's but it is currently optional so if we can't run them you don't get any tests. I suspect we still need to package the binary vdso blobs but use the check-tcg machinery to rebuild them when we can. > > -- PMM -- Alex Bennée