On 16 November 2012 17:35, Paolo Bonzini <pbonz...@redhat.com> wrote:
> Weak symbols were a nice idea, but they turned out not to be a good one.
> Toolchain support is just too sparse, in particular llvm-gcc is totally
> broken.
>
> This patch uses a surprisingly low-tech approach: a static library.
> Symbols in a static library are always overridden by symbols in an
> object file.  Furthermore, if you place each function in a separate
> source file, object files for unused functions will not be taken in.
> This means that each function can use all the dependencies that it needs
> (especially QAPI stuff such as error_setg).
>
> Thus, all stubs are placed in separate object files and put together in
> a static library.  The library then is linked to all programs.
>
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>

This builds and runs OK on Linux and MacOS X.
(nb: only system and usermode executables tested, not the standalone
utility executables like qemu-ga).

Tested-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>

-- PMM

Reply via email to