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