[libvirt] [PATCH 0/2] IOThread algorithm followups
by John Ferlan
During Peter's review of the recent IOThreads Add/Del series he noted
two outstanding issues:
1. The qemuDomainParseIOThreadAlias should be done within the context
of the qemuMonitorJSONGetIOThreads and return an iothread_id instead
of a name which must be parsed by everyone
2. The order of checks in qemuProcessDetectIOThreadPIDs to compare the
returned niothreads against zero, should have been done after the
comparison of whether the number returned matches what the domain
expects. If the domain had expected some number of iothreads and none
were returned, then that needs to be noted.
For review details, see:
http://www.redhat.com/archives/libvir-list/2015-April/msg01361.html
John Ferlan (2):
qemu: Remove need for qemuDomainParseIOThreadAlias
qemu: qemuProcessDetectIOThreadPIDs invert checks
src/qemu/qemu_command.c | 17 -----------------
src/qemu/qemu_command.h | 3 ---
src/qemu/qemu_driver.c | 9 ++-------
src/qemu/qemu_monitor.c | 1 -
src/qemu/qemu_monitor.h | 2 +-
src/qemu/qemu_monitor_json.c | 7 ++++++-
src/qemu/qemu_process.c | 23 ++++++++++-------------
tests/qemumonitorjsontest.c | 12 ++++++------
8 files changed, 25 insertions(+), 49 deletions(-)
--
2.1.0
9 years, 8 months
[libvirt] [PATCH] conf: explicitly initialize 'cpumask' variable
by Roman Bogorodskiy
Build with clang fails with:
CC conf/libvirt_conf_la-domain_conf.lo
conf/domain_conf.c:13377:9: error: variable 'cpumask' is used
uninitialized whenever 'if' condition is true
[-Werror,-Wsometimes-uninitialized]
if (!(tmp = virXMLPropString(node, "cpuset"))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
and many other similar errors regarding the 'cpuset' variable.
Fix by explicitly initializing it with NULL.
---
src/conf/domain_conf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 0b18720..957221b 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -13342,7 +13342,7 @@ virDomainIOThreadPinDefParseXML(xmlNodePtr node,
{
int ret = -1;
virDomainIOThreadIDDefPtr iothrid;
- virBitmapPtr cpumask;
+ virBitmapPtr cpumask = NULL;
xmlNodePtr oldnode = ctxt->node;
unsigned int iothreadid;
char *tmp = NULL;
--
2.3.5
9 years, 8 months
[libvirt] [PATCH 0/4] enable s390 support for crypto key mgmt operations
by akrowiak@linux.vnet.ibm.com
From: Tony Krowiak <akrowiak(a)linux.vnet.ibm.com>
The IBM System z Central Processor Assist for Cryptographic Functions (CPACF)
hardware provides a set of CPU instructions for use in clear-key encryption,
pseudo random number generation, hash functions, and protected-key encryption.
The CPACF protected key cryptographic functions operate with a protected key
that is encrypted under a unique wrapping key stored in the Hardware
System Area (HSA) of the machine and can only be accessed by firmware. The
wrapping key cannot be accessed by the operating system or application
programs. There are two wrapping keys: One for wrapping AES keys and one for
wrapping DEA/TDEA (DES/TDES) keys. This patch set enables the support for
encrypting clear keys under the AES or DEA/TDEA wrapping key on a guest VM
running on an s390 host that supports key wrapping.
Tony Krowiak (4):
libvirt: docs: XML to enable/disable protected key mgmt ops
libvirt: conf: parse XML for protected key management ops
libvirt: qemu: enable/disable protected key management ops
libvirt: tests: test protected key mgmt ops support
9 years, 8 months
[libvirt] [PATCH] test: Fix actual vs. expected in virtTestCompareFiles
by Laine Stump
Commit ca329299 added a utility function virtTestCompareFiles() to
eliminate repetitive code in several test programs. It unfortunately
calls virtTestDifference() with the arguments in the wrong order -
strcontent is the "actual" output gathered by the test rig, while
filecontent is the "expected", and virtTestDifference() wants expected
(filecontent) followed by actual (strcontent), but
virtTestCompareFiles() does the opposite, which can make the output a
bit confusing when there is a failure.
---
tests/testutils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/testutils.c b/tests/testutils.c
index acb2ef1..6a8fe6a 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -1,7 +1,7 @@
/*
* testutils.c: basic test utils
*
- * Copyright (C) 2005-2014 Red Hat, Inc.
+ * Copyright (C) 2005-2015 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -641,7 +641,7 @@ virtTestCompareToFile(const char *strcontent,
goto failure;
goto out;
}
- virtTestDifference(stderr, strcontent, filecontent);
+ virtTestDifference(stderr, filecontent, strcontent);
goto failure;
}
--
2.1.0
9 years, 8 months
[libvirt] [PATCH v5 00/10] Implement Add/Del IOThreads
by John Ferlan
v4 here:
http://www.redhat.com/archives/libvir-list/2015-April/msg01008.html
I was asked to post a complete series by Peter, so rather than repeat
v5 changes described here:
http://www.redhat.com/archives/libvir-list/2015-April/msg01192.html
John Ferlan (10):
conf: Add new domain XML element 'iothreadids'
qemu: Use domain iothreadids to IOThread's 'thread_id'
conf: Move virDomainPinIsDuplicate and make static
Move iothreadspin information into iothreadids
conf: Adjust the iothreadsched expectations
Implement virDomainAddIOThread and virDomainDelIOThread
remote: Add support for AddIOThread and DelIOThread
domain: Introduce virDomainIOThreadSchedDelId
qemu: Add support to Add/Delete IOThreads
virsh: Add iothreadadd and iothreaddel commands
docs/formatdomain.html.in | 56 ++-
docs/schemas/domaincommon.rng | 12 +
include/libvirt/libvirt-domain.h | 6 +
src/conf/domain_audit.c | 9 +
src/conf/domain_audit.h | 6 +
src/conf/domain_conf.c | 359 ++++++++++++---
src/conf/domain_conf.h | 27 +-
src/driver-hypervisor.h | 12 +
src/libvirt-domain.c | 118 +++++
src/libvirt_private.syms | 7 +-
src/libvirt_public.syms | 6 +
src/qemu/qemu_cgroup.c | 34 +-
src/qemu/qemu_command.c | 38 +-
src/qemu/qemu_command.h | 3 +
src/qemu/qemu_domain.c | 36 --
src/qemu/qemu_domain.h | 3 -
src/qemu/qemu_driver.c | 486 +++++++++++++++++----
src/qemu/qemu_process.c | 43 +-
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 30 +-
src/remote_protocol-structs | 12 +
.../qemuxml2argv-cputune-iothreadsched-toomuch.xml | 3 +-
.../qemuxml2argv-iothreads-ids-partial.args | 10 +
.../qemuxml2argv-iothreads-ids-partial.xml | 33 ++
.../qemuxml2argv-iothreads-ids.args | 8 +
.../qemuxml2argv-iothreads-ids.xml | 33 ++
tests/qemuxml2argvtest.c | 2 +
.../qemuxml2xmlout-cputune-iothreads.xml | 2 +-
tests/qemuxml2xmltest.c | 2 +
tools/virsh-domain.c | 164 +++++++
tools/virsh.pod | 31 ++
31 files changed, 1333 insertions(+), 260 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.xml
--
2.1.0
9 years, 8 months
[libvirt] [PATCH] qemu: Resolve Coverity DEADCODE
by John Ferlan
Coverity notes taht the switch() used to check 'connected' values has
two DEADCODE paths (_DEFAULT & _LAST). Since 'connected' is a boolean
it can only be one or the other (CONNECTED or DISCONNECTED), so it just
seems pointless to use a switch to get "all" values. Convert to if-else
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_driver.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 31cbccb..1c72844 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4497,8 +4497,7 @@ processSerialChangedEvent(virQEMUDriverPtr driver,
goto endjob;
if (STREQ_NULLABLE(dev.data.chr->target.name, "org.qemu.guest_agent.0")) {
- switch (newstate) {
- case VIR_DOMAIN_CHR_DEVICE_STATE_CONNECTED:
+ if (newstate == VIR_DOMAIN_CHR_DEVICE_STATE_CONNECTED) {
if (!priv->agent) {
if ((rc = qemuConnectAgent(driver, vm)) == -2)
goto endjob;
@@ -4506,20 +4505,13 @@ processSerialChangedEvent(virQEMUDriverPtr driver,
if (rc < 0)
priv->agentError = true;
}
- break;
-
- case VIR_DOMAIN_CHR_DEVICE_STATE_DISCONNECTED:
+ } else {
if (priv->agent) {
qemuAgentClose(priv->agent);
priv->agent = NULL;
priv->agentError = false;
}
- break;
-
- case VIR_DOMAIN_CHR_DEVICE_STATE_DEFAULT:
- case VIR_DOMAIN_CHR_DEVICE_STATE_LAST:
- break;
- };
+ }
if ((event = virDomainEventAgentLifecycleNewFromObj(vm, newstate,
VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_CHANNEL)))
--
2.1.0
9 years, 8 months
[libvirt] KVM Forum 2015 Call for Participation
by Paolo Bonzini
=================================================================
KVM Forum 2015: Call For Participation
August 19-21, 2015 - Sheraton Seattle - Seattle, WA
(All submissions must be received before midnight May 1, 2015)
=================================================================
KVM is an industry leading open source hypervisor that provides an ideal
platform for datacenter virtualization, virtual desktop infrastructure,
and cloud computing. Once again, it's time to bring together the
community of developers and users that define the KVM ecosystem for
our annual technical conference. We will discuss the current state of
affairs and plan for the future of KVM, its surrounding infrastructure,
and management tools. Mark your calendar and join us in advancing KVM.
http://events.linuxfoundation.org/events/kvm-forum/
This year, the KVM Forum is moving back to North America. We will be
colocated with the Linux Foundation's LinuxCon North America, CloudOpen
North America, ContainerCon and Linux Plumbers Conference events.
Attendees of KVM Forum will also be able to attend a shared hackathon
event with Xen Project Developer Summit on August 18, 2015.
We invite you to lead part of the discussion by submitting a speaking
proposal for KVM Forum 2015.
http://events.linuxfoundation.org/cfp
Suggested topics:
KVM/Kernel
* Scaling and optimizations
* Nested virtualization
* Linux kernel performance improvements
* Resource management (CPU, I/O, memory)
* Hardening and security
* VFIO: SR-IOV, GPU, platform device assignment
* Architecture ports
QEMU
* Management interfaces: QOM and QMP
* New devices, new boards, new architectures
* Scaling and optimizations
* Desktop virtualization and SPICE
* Virtual GPU
* virtio and vhost, including non-Linux or non-virtualized uses
* Hardening and security
* New storage features
* Live migration and fault tolerance
* High availability and continuous backup
* Real-time guest support
* Emulation and TCG
* Firmware: ACPI, UEFI, coreboot, u-Boot, etc.
* Testing
Management and infrastructure
* Managing KVM: Libvirt, OpenStack, oVirt, etc.
* Storage: glusterfs, Ceph, etc.
* Software defined networking: Open vSwitch, OpenDaylight, etc.
* Network Function Virtualization
* Security
* Provisioning
* Performance tuning
===============
SUBMITTING YOUR PROPOSAL
===============
Abstracts due: May 1, 2015
Please submit a short abstract (~150 words) describing your presentation
proposal. Slots vary in length up to 45 minutes. Also include in your
proposal
the proposal type -- one of:
- technical talk
- end-user talk
Submit your proposal here:
http://events.linuxfoundation.org/cfp
Please only use the categories "presentation" and "panel discussion"
You will receive a notification whether or not your presentation proposal
was accepted by May 29, 2015.
Speakers will receive a complimentary pass for the event. In the instance
that your submission has multiple presenters, only the primary speaker for a
proposal will receive a complementary event pass. For panel
discussions, all
panelists will receive a complimentary event pass.
TECHNICAL TALKS
A good technical talk should not just report on what has happened over
the last year; it should present a concrete problem and how it impacts
the user and/or developer community. Whenever applicable, focus on
work that needs to be done, difficulties that haven't yet been solved,
and on decisions that other developers should be aware of. Summarizing
recent developments is okay but it should not be more than a small
portion of the overall talk.
END-USER TALKS
One of the big challenges as developers is to know what, where and how
people actually use our software. We will reserve a few slots for end
users talking about their deployment challenges and achievements.
If you are using KVM in production you are encouraged submit a speaking
proposal. Simply mark it as an end-user talk. As an end user, this is a
unique opportunity to get your input to developers.
HANDS-ON / BOF SESSIONS
We will reserve some time for people to get together and discuss
strategic decisions as well as other topics that are best solved within
smaller groups.
These sessions will be announced during the event. If you are interested
in organizing such a session, please add it to the list at
http://www.linux-kvm.org/page/KVM_Forum_2015_BOF
Let people you think might be interested know about it, and encourage
them to add their names to the wiki page as well. Please try to
add your ideas to the list before KVM Forum starts.
PANEL DISCUSSIONS
If you are proposing a panel discussion, please make sure that you list
all of your potential panelists in your abstract. We will request full
biographies if a panel is accepted.
===============
HOTEL / TRAVEL
===============
KVM Forum 2015 will be taking place at the Sheraton Seattle Hotel. We
are pleased to offer attendees a discounted room rate of US$199/night
(plus applicable taxes) which includes wifi in your guest room.
http://events.linuxfoundation.org/events/kvm-forum/attend/hotel-and-travel
includes further information on the Sheraton Seattle and the discounted
room rate, as well as on transportation and parking options for the hotel.
===============
IMPORTANT DATES
===============
Notification: May 29, 2015
Schedule announced: June 3, 2015
Event dates: August 19-21, 2015
Thank you for your interest in KVM. We're looking forward to your
submissions and seeing you at the KVM Forum 2015 in August!
-your KVM Forum 2015 Program Committee
Please contact us with any questions or comments.
9 years, 8 months
[libvirt] [PATCH] Do not inline virNumaNodeIsAvailable
by Ján Tomko
Explicitly request that virNumaNodeIsAvailable not be inlined.
This fixes the test suite when building with clang (3.5.1).
---
This only leaves the mysterious check-protocol failure.
And too large stack frame size when building the tests with -O0.
src/internal.h | 10 ++++++++++
src/util/virnuma.h | 3 ++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/internal.h b/src/internal.h
index 4d473af..84aa330 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -139,6 +139,16 @@
# endif
/**
+ * ATTRIBUTE_NOINLINE:
+ *
+ * Macro to indicate a function that cannot be inlined
+ * (e.g. a function that is mocked in the test suite)
+ */
+# ifndef ATTRIBUTE_NOINLINE
+# define ATTRIBUTE_NOINLINE __attribute__((__noinline__))
+# endif
+
+/**
* ATTRIBUTE_SENTINEL:
*
* Macro to check for NULL-terminated varargs lists
diff --git a/src/util/virnuma.h b/src/util/virnuma.h
index 1f3c0ad..4ddcc5a 100644
--- a/src/util/virnuma.h
+++ b/src/util/virnuma.h
@@ -37,7 +37,8 @@ virBitmapPtr virNumaGetHostNodeset(void);
bool virNumaNodesetIsAvailable(virBitmapPtr nodeset);
bool virNumaIsAvailable(void);
int virNumaGetMaxNode(void);
-bool virNumaNodeIsAvailable(int node);
+bool virNumaNodeIsAvailable(int node)
+ ATTRIBUTE_NOINLINE;
int virNumaGetDistances(int node,
int **distances,
int *ndistances);
--
2.0.5
9 years, 8 months
[libvirt] [PATCH] Cleanup parameters for mock libraries
by Martin Kletzander
All the libraries use same parameters when building, why not have it in
one place at the begining of the Makefile.
This will also ensure no new mock library will have a problem with
missing e.g. MINGW_EXTRA_LDFLAGS.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
tests/Makefile.am | 58 +++++++++++++++++--------------------------------------
1 file changed, 18 insertions(+), 40 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 03c2c8a..dc7daaa 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-## Copyright (C) 2005-2014 Red Hat, Inc.
+## Copyright (C) 2005-2015 Red Hat, Inc.
##
## This library is free software; you can redistribute it and/or
## modify it under the terms of the GNU Lesser General Public
@@ -47,6 +47,10 @@ AM_CFLAGS = \
AM_LDFLAGS = \
-export-dynamic
+MOCKLIBS_LDFLAGS = -module -avoid-version \
+ -rpath /evil/libtool/hack/to/force/shared/lib/creation \
+ $(MINGW_EXTRA_LDFLAGS)
+
if WITH_DRIVER_MODULES
INCLUDES += \
-DTEST_DRIVER_DIR=\"$(top_builddir)/src/.libs\"
@@ -552,9 +556,7 @@ qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LDADDS) $(LIBXML_LIBS)
qemuxml2argvmock_la_SOURCES = \
qemuxml2argvmock.c
qemuxml2argvmock_la_CFLAGS = $(AM_CFLAGS)
-qemuxml2argvmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+qemuxml2argvmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
qemuxml2xmltest_SOURCES = \
qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \
@@ -614,9 +616,7 @@ qemucaps2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemucaps2xmlmock_la_SOURCES = \
qemucaps2xmlmock.c
qemucaps2xmlmock_la_CFLAGS = $(AM_CFLAGS)
-qemucaps2xmlmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+qemucaps2xmlmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
qemuagenttest_SOURCES = \
qemuagenttest.c \
@@ -723,9 +723,7 @@ if WITH_BHYVE
bhyvexml2argvmock_la_SOURCES = \
bhyvexml2argvmock.c
bhyvexml2argvmock_la_CFLAGS = $(AM_CFLAGS)
-bhyvexml2argvmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+bhyvexml2argvmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
bhyve_LDADDS = ../src/libvirt_driver_bhyve_impl.la
if WITH_STORAGE
@@ -932,9 +930,7 @@ virnetserverclienttest_LDADD = $(LDADDS)
virnetserverclientmock_la_SOURCES = \
virnetserverclientmock.c
virnetserverclientmock_la_CFLAGS = $(AM_CFLAGS)
-virnetserverclientmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+virnetserverclientmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
if WITH_GNUTLS
virnettlscontexttest_SOURCES = \
@@ -1012,9 +1008,7 @@ virportallocatortest_LDADD = $(LDADDS)
libvirportallocatormock_la_SOURCES = \
virportallocatortest.c
libvirportallocatormock_la_CFLAGS = $(AM_CFLAGS) -DMOCK_HELPER=1
-libvirportallocatormock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+libvirportallocatormock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
vircgrouptest_SOURCES = \
vircgrouptest.c testutils.h testutils.c
@@ -1023,9 +1017,7 @@ vircgrouptest_LDADD = $(LDADDS)
vircgroupmock_la_SOURCES = \
vircgroupmock.c
vircgroupmock_la_CFLAGS = $(AM_CFLAGS)
-vircgroupmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+vircgroupmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
vircryptotest_SOURCES = \
vircryptotest.c testutils.h testutils.c
@@ -1044,9 +1036,7 @@ virpcimock_la_SOURCES = \
virpcimock_la_CFLAGS = $(AM_CFLAGS)
virpcimock_la_LIBADD = $(GNULIB_LIBS) \
../src/libvirt.la
-virpcimock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+virpcimock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
virnetdevtest_SOURCES = \
virnetdevtest.c testutils.h testutils.c
@@ -1058,9 +1048,7 @@ virnetdevmock_la_SOURCES = \
virnetdevmock_la_CFLAGS = $(AM_CFLAGS) $(LIBNL_CFLAGS)
virnetdevmock_la_LIBADD = $(GNULIB_LIBS) \
../src/libvirt.la
-virnetdevmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+virnetdevmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
if WITH_LINUX
virusbtest_SOURCES = \
@@ -1073,16 +1061,12 @@ virnetdevbandwidthtest_LDADD = $(LDADDS) $(LIBXML_LIBS)
virusbmock_la_SOURCES = virusbmock.c
virusbmock_la_CFLAGS = $(AM_CFLAGS)
-virusbmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+virusbmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
virnetdevbandwidthmock_la_SOURCES = \
virnetdevbandwidthmock.c
virnetdevbandwidthmock_la_CFLAGS = $(AM_CFLAGS)
-virnetdevbandwidthmock_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+virnetdevbandwidthmock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
else ! WITH_LINUX
EXTRA_DIST += virusbtest.c virusbmock.c \
@@ -1098,9 +1082,7 @@ virdbustest_LDADD = $(LDADDS) $(DBUS_LIBS)
virmockdbus_la_SOURCES = \
virmockdbus.c
virmockdbus_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
-virmockdbus_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+virmockdbus_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
virpolkittest_SOURCES = \
virpolkittest.c testutils.h testutils.c
@@ -1146,9 +1128,7 @@ endif ! WITH_TESTS
libsecurityselinuxhelper_la_SOURCES = \
securityselinuxhelper.c
-libsecurityselinuxhelper_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+libsecurityselinuxhelper_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
securityselinuxtest_SOURCES = \
securityselinuxtest.c testutils.h testutils.c
@@ -1220,9 +1200,7 @@ endif WITH_LIBVIRTD
libshunload_la_SOURCES = shunloadhelper.c
libshunload_la_LIBADD = ../src/libvirt.la
-libshunload_la_LDFLAGS = -module -avoid-version \
- -rpath /evil/libtool/hack/to/force/shared/lib/creation \
- $(MINGW_EXTRA_LDFLAGS)
+libshunload_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
shunloadtest_SOURCES = \
shunloadtest.c
--
2.3.6
9 years, 8 months