* [Qemu-devel] [PATCH] tci: Fix compile failure by including qemu-common.h
@ 2015-07-09 16:49 Peter Maydell
2015-07-09 16:58 ` Peter Maydell
0 siblings, 1 reply; 4+ messages in thread
From: Peter Maydell @ 2015-07-09 16:49 UTC (permalink / raw)
To: qemu-devel; +Cc: Stefan Weil, Peter Crosthwaite, Andreas Färber, patches
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 ‘disassemble_info’
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 <peter.maydell@linaro.org>
---
The cleaner fix is to not include qemu-common.h from bfd.h, but
at this point in the release cycle I want a small and safe change.
---
disas/tci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/disas/tci.c b/disas/tci.c
index a606b63..d7b954e 100644
--- a/disas/tci.c
+++ b/disas/tci.c
@@ -17,6 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "qemu-common.h"
#include "disas/bfd.h"
#include "tcg/tcg.h"
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] tci: Fix compile failure by including qemu-common.h
2015-07-09 16:49 [Qemu-devel] [PATCH] tci: Fix compile failure by including qemu-common.h Peter Maydell
@ 2015-07-09 16:58 ` Peter Maydell
2015-07-09 18:55 ` Peter Crosthwaite
2015-07-10 19:14 ` Stefan Weil
0 siblings, 2 replies; 4+ messages in thread
From: Peter Maydell @ 2015-07-09 16:58 UTC (permalink / raw)
To: QEMU Developers
Cc: Stefan Weil, Peter Crosthwaite, Andreas Färber,
Patch Tracking
On 9 July 2015 at 17:49, Peter Maydell <peter.maydell@linaro.org> 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 ‘disassemble_info’
> 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 <peter.maydell@linaro.org>
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] tci: Fix compile failure by including qemu-common.h
2015-07-09 16:58 ` Peter Maydell
@ 2015-07-09 18:55 ` Peter Crosthwaite
2015-07-10 19:14 ` Stefan Weil
1 sibling, 0 replies; 4+ messages in thread
From: Peter Crosthwaite @ 2015-07-09 18:55 UTC (permalink / raw)
To: Peter Maydell
Cc: Stefan Weil, Patch Tracking, QEMU Developers, Andreas Färber
On Thu, Jul 9, 2015 at 9:58 AM, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 9 July 2015 at 17:49, Peter Maydell <peter.maydell@linaro.org> 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 ‘disassemble_info’
>> 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 <peter.maydell@linaro.org>
>
> Applied to master.
>
Thanks,
I'll be adding this one to my own configury for multi-arch testing.
Regards,
Peter
> Note that "make check" on a TCI seems to assert; I'll let
> somebody who cares about TCI look into that.
>
> -- PMM
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] tci: Fix compile failure by including qemu-common.h
2015-07-09 16:58 ` Peter Maydell
2015-07-09 18:55 ` Peter Crosthwaite
@ 2015-07-10 19:14 ` Stefan Weil
1 sibling, 0 replies; 4+ messages in thread
From: Stefan Weil @ 2015-07-10 19:14 UTC (permalink / raw)
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 <peter.maydell@linaro.org> 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 ‘disassemble_info’
>> 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 <peter.maydell@linaro.org>
> 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 <rth@twiddle.net>
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 <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
"make check-qtest-x86_64" fails with an assertion:
qemu-system-x86_64: /qemu/tci.c:1251: tcg_qemu_tb_exec: Assertion
`tb_ptr == 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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-07-10 19:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-09 16:49 [Qemu-devel] [PATCH] tci: Fix compile failure by including qemu-common.h Peter Maydell
2015-07-09 16:58 ` Peter Maydell
2015-07-09 18:55 ` Peter Crosthwaite
2015-07-10 19:14 ` Stefan Weil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).