summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-02-26 21:53:30 +0000
committerPeter Maydell <peter.maydell@linaro.org>2014-03-06 21:26:44 +0000
commit4c288acbd6b9eccb13076103e59a426af3d15030 (patch)
tree36fcc396244295d58562c1c07b76217a3300554a /hw
parent9c83ffd859a13d840aa3f983833b6ea1e34de483 (diff)
downloadqemu-4c288acbd6b9eccb13076103e59a426af3d15030.tar.gz
configure: Always build with -fno-common
MacOSX doesn't pull .o files from .a archives if the symbol that it requires is one which the .o file defines as a common symbol. (Common symbols are those declared without "extern"; the linker will merge together common symbols with the same name, so redeclaring the same variable in two compilation units results in them referring to the same symbol rather than a compilation error). This MacOSX difference from traditional linker behaviour means that "make check" produces link errors: Undefined symbols for architecture x86_64: "_cur_mon", referenced from: _error_vprintf in libqemuutil.a(qemu-error.o) _error_printf in libqemuutil.a(qemu-error.o) _error_printf_unless_qmp in libqemuutil.a(qemu-error.o) _error_print_loc in libqemuutil.a(qemu-error.o) _error_report in libqemuutil.a(qemu-error.o) ld: symbol(s) not found for architecture x86_64 in this case because "cur_mon" is a common symbol in libqemustub.a(mon-set-error.o). In QEMU we don't make any use at all of the common symbol functionality, so we can avoid this problem entirely simply by compiling with -fno-common. Enable this option for all builds, not just MacOSX, so that if we ever inadvertently introduce multiple definitions of some variable that will be immediately spotted as a build error rather than only breaking the MacOSX build. Suggested-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Message-id: 1393451610-24617-1-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'hw')
0 files changed, 0 insertions, 0 deletions