[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassemb
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassembly |
Date: |
Wed, 08 Jan 2014 07:55:49 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
Am 08.01.2014 00:00, schrieb Peter Maydell:
> On 7 January 2014 22:30, Stefan Weil <address@hidden> wrote:
>
>> I'd prefer one file disas/aarch64.cc instead of these two files:
>>
>> disas/aarch64-cxx.cc | 80
>> +++++++++++++++++++++++++++++++++++++++++++
>> disas/aarch64.c | 39 +++++++++++++++++++++
>>
>> This would also allow removing the extern statement in the C++ code (and
>> use a local function).
> See the comment in aarch64-cxx.cc -- to do that we'd need to
> make sure bfd.h was valid for C++ as well as C compilation. This
> came up when Andreas reviewed the RFC and that was Claudio's
> explanation for the split, which is why I added the comment.
>
> Claudio -- do you recall what the exact issue here is?
>
> Specifically, I think the problem is that if we put print_insn_aarch64()
> in the C++ file then we need to have its prototype in bfd.h guarded
> with "extern C {}" if (and only if) we're compiling a C++ file. If
> you care about restricting the C++-isms to the C++ files that's
> a bit ugly. But we could do that if people prefer.
>
> Some experimentation suggests it would also be possible to
> just do
>
> extern "C" {
> #include "disas/bfd.h"
> }
>
> in the C++ file. If that doesn't have any hidden gotchas I don't
> know about it looks like the nicest solution.
>
Adding the extern "C" to include/disas/bfd.h would be even better. It
might be possible to use the glib macros G_BEGIN_DECLS and G_END_DECLSor
__BEGIN_DECLS and __END_DECLS from the C library for this purpose.
Stefan
- [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassembly, Peter Maydell, 2014/01/07
- [Qemu-devel] [PATCH 2/4] rules.mak: Link with C++ if we have a C++ compiler, Peter Maydell, 2014/01/07
- [Qemu-devel] [PATCH 1/4] rules.mak: Support .cc as a C++ source file suffix, Peter Maydell, 2014/01/07
- [Qemu-devel] [PATCH 4/4] disas: Implement disassembly output for A64, Peter Maydell, 2014/01/07
- [Qemu-devel] [PATCH 3/4] disas: add libvixl source code for AArch64 A64 disassembler, Peter Maydell, 2014/01/07
- Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassembly, Stefan Weil, 2014/01/07
- Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassembly, Stefan Weil, 2014/01/07
Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassembly, Peter Maydell, 2014/01/07