From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44153) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDdkd-0007Vv-FZ for qemu-devel@nongnu.org; Fri, 10 Jul 2015 15:14:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDdkY-00015f-GK for qemu-devel@nongnu.org; Fri, 10 Jul 2015 15:14:23 -0400 Received: from [2a03:4000:1::4e2f:c7ac:d] (port=33564 helo=v220110690675601.yourvserver.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDdkY-00014p-9X for qemu-devel@nongnu.org; Fri, 10 Jul 2015 15:14:18 -0400 Message-ID: <55A01986.2060708@weilnetz.de> Date: Fri, 10 Jul 2015 21:14:14 +0200 From: Stefan Weil MIME-Version: 1.0 References: <1436460577-11245-1-git-send-email-peter.maydell@linaro.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] tci: Fix compile failure by including qemu-common.h List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , QEMU Developers Cc: Richard Henderson Am 09.07.2015 um 18:58 schrieb Peter Maydell: > On 9 July 2015 at 17:49, Peter Maydell wrote= : >> Compilation of TCI was accidentally broken by the recent disassembler >> changes: >> >> CC x86_64-softmmu/arch_init.o >> In file included from target-i386/cpu-qom.h:23:0, >> from target-i386/cpu.h:986, >> from include/qemu-common.h:122, >> from include/disas/bfd.h:12, >> from disas/tci.c:20: >> include/qom/cpu.h:178:43: error: unknown type name =E2=80=98disassembl= e_info=E2=80=99 >> void (*disas_set_info)(CPUState *cpu, disassemble_info *info); >> ^ >> include/qom/cpu.h:179:1: error: >> no semicolon at end of struct or union [-Werror] >> } CPUClass; >> ^ >> cc1: all warnings being treated as errors >> >> The underlying cause of this is an include loop: >> bfd.h -> qemu-common.h -> target-arm/cpu.h -> target-arm/cpu-qom.h >> -> qom/cpu.h -> bfd.h >> >> which means that if bfd.h is included first then qom/cpu.h doesn't >> get the definition of the disassemble_info type that it wanted. >> The easiest fix for this is to include qemu-common.h from tci.c >> before including disas/bfd.h. >> >> Signed-off-by: Peter Maydell > Applied to master. > > Note that "make check" on a TCI seems to assert; I'll let > somebody who cares about TCI look into that. > > -- PMM The assertions started with this patch: 59227d5d45bb3c31dc2118011691c35b3c00879c is the first bad commit commit 59227d5d45bb3c31dc2118011691c35b3c00879c Author: Richard Henderson Date: Tue May 12 11:51:44 2015 -0700 tcg: Merge memop and mmu_idx parameters to qemu_ld/st At the tcg opcode level, not at the tcg-op.h generator level. This requires minor changes through all of the tcg backends, but none of the cpu translators. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson "make check-qtest-x86_64" fails with an assertion: qemu-system-x86_64: /qemu/tci.c:1251: tcg_qemu_tb_exec: Assertion=20 `tb_ptr =3D=3D old_code_ptr + op_size' failed. TCI fails while handling INDEX_op_qemu_st_i64 or INDEX_op_qemu_st_i32. tcg/tci/tcg-target.c was modified for qemu_ld_*, but not for qemu_st_*. Removing 6 lines of code fixes this. I'll send a patch... Regards Stefan