[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] build: replace weak symbols with a static li
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v2] build: replace weak symbols with a static library |
Date: |
Fri, 16 Nov 2012 18:18:53 +0000 |
On 16 November 2012 17:35, Paolo Bonzini <address@hidden> 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 <address@hidden>
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 <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
-- PMM