Hi Paolo, Can you specify how to reproduce the issue ? We need more details about environment.
In my case, everything seems to work fine for the newest version of glib (2.68). Thank you, Aleksandar > 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 ________________________________ From: Philippe Mathieu-Daudé <philippe.mathieu.da...@gmail.com> on behalf of Philippe Mathieu-Daudé <f4...@amsat.org> Sent: Tuesday, April 13, 2021 5:58 PM To: Paolo Bonzini <pbonz...@redhat.com>; qemu-devel@nongnu.org <qemu-devel@nongnu.org> Cc: peter.mayd...@linaro.org <peter.mayd...@linaro.org>; berra...@redhat.com <berra...@redhat.com>; Aleksandar Rikalo <aleksandar.rik...@syrmia.com>; vince.delvecc...@mediatek.com <vince.delvecc...@mediatek.com>; Petar Jovanovic <petar.jovano...@syrmia.com>; Filip Vidojevic <filip.vidoje...@syrmia.com> Subject: Re: [PATCH 0/2] osdep: allow including qemu/osdep.h outside extern "C" Cc'ing MediaTek reviewers. On 4/13/21 1:37 PM, Paolo Bonzini wrote: > 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(-) >