From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33322) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X1z7e-00071U-AP for qemu-devel@nongnu.org; Tue, 01 Jul 2014 10:33:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X1z7T-0004EW-If for qemu-devel@nongnu.org; Tue, 01 Jul 2014 10:33:26 -0400 Received: from mail-pd0-x234.google.com ([2607:f8b0:400e:c02::234]:33452) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X1z7T-0004EA-7z for qemu-devel@nongnu.org; Tue, 01 Jul 2014 10:33:15 -0400 Received: by mail-pd0-f180.google.com with SMTP id fp1so10234438pdb.39 for ; Tue, 01 Jul 2014 07:33:14 -0700 (PDT) Message-ID: <53B2C68C.7030401@gmail.com> Date: Tue, 01 Jul 2014 22:32:44 +0800 From: Wenchao Xia MIME-Version: 1.0 References: <1403652840-13449-1-git-send-email-wenchaoqemu@gmail.com> <1403652840-13449-2-git-send-email-wenchaoqemu@gmail.com> <20140625091351.7779916b@redhat.com> <53AACB77.8000205@redhat.com> <20140627142807.3a5772c5@redhat.com> <53B14191.9070403@redhat.com> In-Reply-To: <53B14191.9070403@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Peter Maydell , Luiz Capitulino Cc: QEMU Developers , Markus Armbruster 于 2014/6/30 18:53, Paolo Bonzini 写道: > Il 29/06/2014 22:31, Peter Maydell ha scritto: >> On 27 June 2014 19:28, Luiz Capitulino wrote: >>> On Wed, 25 Jun 2014 15:15:35 +0200 >>> Paolo Bonzini wrote: >>> >>>> Il 25/06/2014 15:13, Luiz Capitulino ha scritto: >>>>> On Tue, 24 Jun 2014 16:33:56 -0700 >>>>> Wenchao Xia wrote: >>>>> >>>>>> From: Paolo Bonzini >>>>>> >>>>>> On old GLib, the test needs a g_thread_init call. >>>>>> >>>>>> Reported-by: Wenchao Xia >>>>>> Signed-off-by: Paolo Bonzini >>>>>> Tested-by: Wenchao Xia >>>>>> Signed-off-by: Wenchao Xia >>>>>> --- >>>>>> tests/test-qmp-event.c | 1 + >>>>>> 1 files changed, 1 insertions(+), 0 deletions(-) >>>>>> >>>>>> diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c >>>>>> index cb1e441..17c6444 100644 >>>>>> --- a/tests/test-qmp-event.c >>>>>> +++ b/tests/test-qmp-event.c >>>>>> @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, >>>>>> >>>>>> int main(int argc, char **argv) >>>>>> { >>>>>> + g_thread_init(NULL); >>>>>> qmp_event_set_func_emit(event_test_emit); >>>>>> >>>>>> g_test_init(&argc, &argv, NULL); >>>>> >>>>> This breaks make check on F20: >>>>> >>>>> """ >>>>> /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c: >>>>> In function ‘main’: >>>>> /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c:254:5: >>>>> error: ‘g_thread_init’ is deprecated (declared at >>>>> /usr/include/glib-2.0/glib/deprecated/gthread.h:260) >>>>> [-Werror=deprecated-declarations] >>>>> g_thread_init(NULL); >>>>> ^ >>>>> cc1: all warnings being treated as errors >>>>> make: *** [tests/test-qmp-event.o] Error 1 >>>>> """ >>>>> >>>>> I think the best way to fix this is to make util/osdep.c:thread_init() >>>>> public (maybe by moving it to include/glib-compat.h) and use that >>>>> instead. >>>>> Also, note that thread_init()'s body is duplicated in a few other >>>>> places, >>>>> so maybe those places should call it too. >>>>> >>>>> You may want to do this in a different series, then I can skip this >>>>> patch >>>>> and apply the rest of the series. >>>>> >>>> >>>> Thanks Luiz, it's a good suggestion. >>> >>> Paolo, Wenchao, are one of one going to work on this? >> >> Ping! Can we have at least a local fix using glib version #ifdefs before >> Tuesday please? Otherwise we need to do something like this >> to avoid shipping an rc0 which doesn't pass make check on some >> systems. > > I'll send the patch today. thread_init() is a bit tricky because it is > a __constructor__ but it is not included in the binary because no other > function is included from the same file. > > BTW, the make check limitation is currently mentioned in the changelog. > > Paolo > I am not free these days for the issue, thanks for fixing it instead of me! >> diff --git a/tests/Makefile b/tests/Makefile >> index 7e53d0d..a1a0dae 100644 >> --- a/tests/Makefile >> +++ b/tests/Makefile >> @@ -27,8 +27,6 @@ check-unit-y += >> tests/test-string-input-visitor$(EXESUF) >> gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c >> check-unit-y += tests/test-string-output-visitor$(EXESUF) >> gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c >> -check-unit-y += tests/test-qmp-event$(EXESUF) >> -gcov-files-test-qmp-event-y += qapi/qmp-event.c >> check-unit-y += tests/test-opts-visitor$(EXESUF) >> gcov-files-test-opts-visitor-y = qapi/opts-visitor.c >> check-unit-y += tests/test-coroutine$(EXESUF) >> @@ -213,7 +211,7 @@ test-obj-y = tests/check-qint.o >> tests/check-qstring.o tests/check-qdict.o \ >> tests/test-qmp-input-visitor.o tests/test-qmp-input-strict.o \ >> tests/test-qmp-commands.o tests/test-visitor-serialization.o \ >> tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \ >> - tests/test-opts-visitor.o tests/test-qmp-event.o >> + tests/test-opts-visitor.o >> >> test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \ >> tests/test-qapi-event.o >> >> thanks >> -- PMM >> >> >