qemu/osdep.h is quite special in that, despite being part of QEMU sources, it is included by C++ source files as well.
disas/nanomips.cpp is doing so within an 'extern "C"' block, which breaks with latest glib due to the inclusion of templates in glib.h. These patches implement Daniel Berrangé's idea of pushing the 'extern "C"' block within glib.h and including system headers (including glib.h, and in fact QEMU's own glib-compat.h too) *outside* the block. (CI has not finished running yet, but it seems encouraging). Paolo Paolo Bonzini (2): osdep: include glib-compat.h before other QEMU headers osdep: protect qemu/osdep.h with extern "C" disas/nanomips.cpp | 2 +- include/qemu/compiler.h | 6 ++++++ include/qemu/osdep.h | 13 +++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) -- 2.30.1