]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
hyperv: Introduce and export 'facility' variable.
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 19 Dec 2024 10:02:59 +0000 (11:02 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 6 Jan 2025 13:21:18 +0000 (14:21 +0100)
In its upstream commit [1] openwsman dropped 'facility' variable
which is documented as:

 * all processes that use the libu must define a "facility" variable somewhere
 * to satisfy this external linkage reference.
 *
 * Such variable will be used as the syslog(3) facility argument.

Well, prior to that commit, openwsman itself declared the
variable (and set it to LOG_DAEMON). Now it's up to us.

Yeah, the variable naming is terrible and also I we are not using
libu directly, but apparently libwsman.so requires it anyway:

  $ objdump -T /usr/lib64/libwsman.so | grep facility
  0000000000000000      D  *UND*  0000000000000000  Base        facility

1: https://github.com/Openwsman/openwsman/commit/d72c51f21b9c85a773b7955ac587d2d3cea982c1
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/hyperv/hyperv_wmi.c
src/libvirt_hyperv.syms [new file with mode: 0644]
src/meson.build

index 0b82f1f13187eaec6695453946eb77395101b7c1..040bcfec116f8d8a805690af2bc5e5f82509de07 100644 (file)
@@ -28,6 +28,7 @@
 #include <wsman-soap.h>
 #include <wsman-xml.h>
 #include <wsman-xml-binding.h>
+#include <u/syslog.h>
 
 #include "internal.h"
 #include "virerror.h"
@@ -47,6 +48,8 @@
 
 VIR_LOG_INIT("hyperv.hyperv_wmi");
 
+int facility = LOG_DAEMON;
+
 int
 hypervGetWmiClassList(hypervPrivate *priv, hypervWmiClassInfo *wmiInfo,
                       virBuffer *query, hypervObject **wmiClass)
diff --git a/src/libvirt_hyperv.syms b/src/libvirt_hyperv.syms
new file mode 100644 (file)
index 0000000..60e98db
--- /dev/null
@@ -0,0 +1,11 @@
+#
+# HyperV-specific symbols
+#
+
+# hyperv/hyperv_wmi.c
+facility;
+
+# Let emacs know we want case-insensitive sorting
+# Local Variables:
+# sort-fold-case: t
+# End:
index b53ea2a71fee17bf651ef71ef337f398bee110db..cce89fac27fb6d2e94baf31281431025362cf924 100644 (file)
@@ -125,6 +125,12 @@ else
   sym_files += 'libvirt_libssh2.syms'
 endif
 
+if conf.has('WITH_HYPERV')
+  used_sym_files += 'libvirt_hyperv.syms'
+else
+  sym_files += 'libvirt_hyperv.syms'
+endif
+
 # variables filled by subdirectories
 
 libvirt_libs = []