summaryrefslogtreecommitdiffstats
path: root/include/disas
diff options
context:
space:
mode:
authorPaolo Bonzini2016-07-07 14:07:33 +0200
committerPaolo Bonzini2016-07-12 18:31:27 +0200
commit1e13c01d2a4eadb9c498caa809a21e3b5672b411 (patch)
tree4e914a5525bfdb62b935477b73aee762c98b77f9 /include/disas
parentjson-streamer: fix double-free on exiting during a parse (diff)
downloadqemu-1e13c01d2a4eadb9c498caa809a21e3b5672b411.tar.gz
qemu-1e13c01d2a4eadb9c498caa809a21e3b5672b411.tar.xz
qemu-1e13c01d2a4eadb9c498caa809a21e3b5672b411.zip
disas: avoid including everything in headers compiled from C++
disas/arm-a64.cc is careful to include only the bare minimum that it needs---qemu/osdep.h and disas/bfd.h. Unfortunately, disas/bfd.h then includes qemu-common.h, which brings in qemu/option.h and from there we get the kitchen sink. This causes problems because for example QEMU's atomic macros conflict with C++ atomic types. But really all that bfd.h needs is the fprintf_function typedef, so replace the inclusion of qemu-common.h with qemu/fprintf-fn.h. Reported-by: Sean Bruno <sbruno@freebsd.org> Tested-by: Sean Bruno <sbruno@freebsd.org> Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Markus Armbruster <armbru@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/disas')
-rw-r--r--include/disas/bfd.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/disas/bfd.h b/include/disas/bfd.h
index a112e9c8c3..a87b8a1eb9 100644
--- a/include/disas/bfd.h
+++ b/include/disas/bfd.h
@@ -9,7 +9,7 @@
#ifndef DIS_ASM_H
#define DIS_ASM_H
-#include "qemu-common.h"
+#include "qemu/fprintf-fn.h"
typedef void *PTR;
typedef uint64_t bfd_vma;