qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 00/36] linux-user: Signal trampolines and vdsos


From: Alex Bennée
Subject: Re: [PATCH v2 00/36] linux-user: Signal trampolines and vdsos
Date: Fri, 03 Sep 2021 14:39:30 +0100
User-agent: mu4e 1.7.0; emacs 28.0.50

Peter Maydell <peter.maydell@linaro.org> writes:

> On Wed, 7 Jul 2021 at 00:51, Richard Henderson
> <richard.henderson@linaro.org> wrote:
>>
>> Supercedes: <20210619034329.532318-1-richard.henderson@linaro.org>
>> ("[PATCH 00/12] linux-user: Load a vdso for x86_64 and hppa")
>>
>> Supercedes: <20210618192951.125651-1-richard.henderson@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]