[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Qemu uses C++ ??

From: Jun Koi
Subject: Re: [Qemu-devel] Qemu uses C++ ??
Date: Sat, 30 May 2015 01:23:01 +0700

On Sat, May 30, 2015 at 1:09 AM, Peter Maydell <address@hidden> wrote:
On 29 May 2015 at 19:01, Jun Koi <address@hidden> wrote:
> I always thought that Qemu never has C++ code inside, but I am surprise to
> see this when Aarch64 emulator is linked, as following (excerpt)

The AArch64 disassembler is written in C++ (this is a third
party bit of code which we include in QEMU). C++ is optional
as a build dependency, though -- if there's no C++ compiler
available configure will disable the AArch64 disassembler.

Oh, exactly which code is the AArch64 disassembler?
I looked at target-arm/*.c, but did not seem to find C++ code there. I must missed it ...


> c++ -I/usr/include/pixman-1   -I/home/me/projects/qemu-2.3.0/dtc/libfdt
> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing -fno-common  -Wendif-labels
> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -fstack-protector-all
> -I../linux-headers -I.. -I/home/me/projects/qemu-2.3.0/target-arm
> -DNEED_CPU_H -I/home/me/projects/qemu-2.3.0/include -O2 -U_FORTIFY_SOURCE
> -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include   -g  -Wl,--warn-common
> -Wl,-z,relro -Wl,-z,now -pie -m64 -g   -o qemu-system-aarch64 exec.o
> translate-all.o cpu-exec.o ...
> A question: is there any reason to use C++ for linker here? Why does C
> linker not work?

If we are linking any C++-derived object then we must use the
C++ linker, otherwise the link might fail or not pull in the
right bits of the C++ runtime. (It's harmless to use the C++
linker for a C-only link.)

-- PMM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]