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 <[email protected]>
Tested-by: Sean Bruno <[email protected]>
Cc: Peter Maydell <[email protected]>
Cc: Markus Armbruster <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>