qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/4] monitor: remove target-specific code from m


From: Pavel Butsykin
Subject: Re: [Qemu-devel] [PATCH 2/4] monitor: remove target-specific code from monitor.c
Date: Wed, 9 Sep 2015 14:24:17 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 08.09.2015 13:13, Fam Zheng wrote:
On Tue, 09/08 11:54, Paolo Bonzini wrote:

On 08/09/2015 09:09, Denis V. Lunev wrote:
  qemu-monitor-info.texi           | 151 +++++++
This should be added in patch 4, not now.

+const MonitorDef *target_monitor_defs(void) __attribute__((weak));
+
+const MonitorDef *target_monitor_defs(void)
+{
+    return NULL;
+}
Weak symbols do not work on all platforms.  Luckily, making libqemustub
a static library gets exactly the same result without the need for weak
symbols: the definition from the QEMU object files will hide the stub.

You just need to remove __attribute__((weak)), and it should just work.

Otherwise, the patches look good to me.  Luiz, do you have time to post
a pull request for v4, or do you want to pass HMP maintainership as well
to someone else?
Didn't look at the patch, but Patchew is catching this for cross build:

running command: /tmp/qemu-build/configure --prefix=/var/tmp/qemu-build-install 
--cross-prefix=x86_64-w64-mingw32- --target-list=x86_64-softmmu,aarch64-softmmu 
...
running command: make -j2 ...
Failed:
[snip]
   CC    aarch64-softmmu/target-arm/kvm-stub.o
   CC    aarch64-softmmu/target-arm/translate.o
   CC    aarch64-softmmu/target-arm/op_helper.o
   CC    aarch64-softmmu/target-arm/helper.o
   CC    aarch64-softmmu/target-arm/cpu.o
   CC    aarch64-softmmu/target-arm/neon_helper.o
   CC    aarch64-softmmu/target-arm/iwmmxt_helper.o
   CC    aarch64-softmmu/target-arm/gdbstub.o
   CC    aarch64-softmmu/target-arm/psci.o
   CC    aarch64-softmmu/target-arm/cpu64.o
   CC    aarch64-softmmu/target-arm/translate-a64.o
   CC    aarch64-softmmu/target-arm/helper-a64.o
   CC    aarch64-softmmu/target-arm/gdbstub64.o
   CC    aarch64-softmmu/target-arm/crypto_helper.o
   GEN   trace/generated-helpers.c
   CC    aarch64-softmmu/gdbstub-xml.o
   CC    aarch64-softmmu/trace/generated-helpers.o
   LINK  aarch64-softmmu/qemu-system-aarch64w.exe
monitor.o: In function `get_monitor_def':
/tmp/qemu-build/monitor.c:2091: undefined reference to `target_monitor_defs'
collect2: error: ld returned 1 exit status
Makefile:184: recipe for target 'qemu-system-aarch64w.exe' failed
make[1]: *** [qemu-system-aarch64w.exe] Error 1
Makefile:179: recipe for target 'subdir-aarch64-softmmu' failed
make: *** [subdir-aarch64-softmmu] Error 2
As it turned out, this reaction occurs when using a weak symbol.



reply via email to

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