[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-clien
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available |
Date: |
Tue, 06 Jun 2017 08:54:08 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Kamil Rytarowski <address@hidden> writes:
> On 05.06.2017 16:29, Michael Tokarev wrote:
>> 31.05.2017 15:00, Kamil Rytarowski wrote:
>>> Currently ivshmem requires eventfd() which is Linux specific.
>>> Do not and build it unconditionally on every Linux/BSD/Solaris.
>>>
>>> This patch indirectly fixes build failure on NetBSD, where these tools
>>> additionally require -lrt for shm_open(3). In future there should be
>>> added support for NetBSD and the linking addressed appropriately.
>>
>> Unfortunately this breaks static build.
>>
>> $ ../configure --disable-system --disable-linux-user --static
>> $ make V=1
>> ...
>> c++ -I/usr/include/pixman-1 -Werror -pthread -I/usr/include/glib-2.0
>> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -m64 -mcx16 -D_GNU_SOURCE
>> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
>> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
>> -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels
>> -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body
>> -Wnested-externs
>> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
>> -Wold-style-declaration -Wold-style-definition -Wtype-limits
>> -fstack-protector-strong
>> -I/usr/include/libpng16 -I/build/qemu/git/tests -O2 -U_FORTIFY_SOURCE
>> -D_FORTIFY_SOURCE=2 -g -Wl,--warn-common -m64 -static -g -o ivshmem-server
>> libqemuutil.a libqemustub.a -lm -lgthread-2.0 -pthread -lglib-2.0 -pthread
>> -lpcre -pthread -lz -lrt -lz -lnettle -lutil
>> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crt1.o: In
>> function `_start':
>> (.text+0x20): undefined reference to `main'
>> collect2: error: ld returned 1 exit status
>> Makefile:475: error building «ivshmem-server»
>> $ _
>>
>> I'll take a look at this later. reverting it for now.
>>
>> Thanks,
>>
>> /mjt
>>
>
> I will try to reproduce it locally.
I haven't, but here's a quick guess on what we need to squash into the
patch:
diff --git a/Makefile b/Makefile
index c830d7a..2ef5a78 100644
--- a/Makefile
+++ b/Makefile
@@ -469,10 +469,12 @@ ifneq ($(EXESUF),)
qemu-ga: qemu-ga$(EXESUF) $(QGA_VSS_PROVIDER) $(QEMU_GA_MSI)
endif
+ifdef CONFIG_IVSHMEM
ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) $(COMMON_LDADDS)
$(call LINK, $^)
ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS)
$(call LINK, $^)
+endif
module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
$(call quiet-command,$(PYTHON) $< $@ \
diff --git a/tests/Makefile.include b/tests/Makefile.include
index f42f3df..ab70d01 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -203,7 +203,7 @@ gcov-files-pci-y += hw/display/virtio-gpu-pci.c
gcov-files-pci-$(CONFIG_VIRTIO_VGA) += hw/display/virtio-vga.c
check-qtest-pci-y += tests/intel-hda-test$(EXESUF)
gcov-files-pci-y += hw/audio/intel-hda.c hw/audio/hda-codec.c
-check-qtest-pci-$(CONFIG_EVENTFD) += tests/ivshmem-test$(EXESUF)
+check-qtest-pci-$(CONFIG_IVSHMEM) += tests/ivshmem-test$(EXESUF)
gcov-files-pci-y += hw/misc/ivshmem.c
check-qtest-i386-y = tests/endianness-test$(EXESUF)
- Re: [Qemu-trivial] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Michael Tokarev, 2017/06/01
- Re: [Qemu-trivial] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Michael Tokarev, 2017/06/05
- Re: [Qemu-trivial] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Kamil Rytarowski, 2017/06/05
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available,
Markus Armbruster <=
- Re: [Qemu-trivial] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Michael Tokarev, 2017/06/06
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Markus Armbruster, 2017/06/06
- Re: [Qemu-trivial] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Kamil Rytarowski, 2017/06/06
- Re: [Qemu-trivial] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Peter Maydell, 2017/06/06
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Kamil Rytarowski, 2017/06/06
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Kamil Rytarowski, 2017/06/10
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Markus Armbruster, 2017/06/10
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Kamil Rytarowski, 2017/06/10
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Markus Armbruster, 2017/06/19
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3] ivshmem-server: ivshmem-client: Build when eventfd() is available, Kamil Rytarowski, 2017/06/19