[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 13/14] contrib/plugins: add compat for g_memdup2
From: |
Alex Bennée |
Subject: |
[PATCH 13/14] contrib/plugins: add compat for g_memdup2 |
Date: |
Mon, 29 Jul 2024 15:44:13 +0100 |
We were premature if bumping this because some of our builds are still
on older glibs. Just copy the compat handler for now and we can remove
it later.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Fixes: ee293103b0 (plugins: update lockstep to use g_memdup2)
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2161
---
contrib/plugins/lockstep.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/contrib/plugins/lockstep.c b/contrib/plugins/lockstep.c
index 6a7e9bbb39..62981d4e09 100644
--- a/contrib/plugins/lockstep.c
+++ b/contrib/plugins/lockstep.c
@@ -101,6 +101,31 @@ static void plugin_exit(qemu_plugin_id_t id, void *p)
plugin_cleanup(id);
}
+/*
+ * g_memdup has been deprecated in Glib since 2.68 and
+ * will complain about it if you try to use it. However until
+ * glib_req_ver for QEMU is bumped we make a copy of the glib-compat
+ * handler.
+ */
+static inline gpointer g_memdup2_qemu(gconstpointer mem, gsize byte_size)
+{
+#if GLIB_CHECK_VERSION(2, 68, 0)
+ return g_memdup2(mem, byte_size);
+#else
+ gpointer new_mem;
+
+ if (mem && byte_size != 0) {
+ new_mem = g_malloc(byte_size);
+ memcpy(new_mem, mem, byte_size);
+ } else {
+ new_mem = NULL;
+ }
+
+ return new_mem;
+#endif
+}
+#define g_memdup2(m, s) g_memdup2_qemu(m, s)
+
static void report_divergance(ExecState *us, ExecState *them)
{
DivergeState divrec = { log, 0 };
--
2.39.2
- [PATCH 04/14] tests/tcg/loongarch64: Use --no-warn-rwx-segments to link system tests, (continued)
- [PATCH 04/14] tests/tcg/loongarch64: Use --no-warn-rwx-segments to link system tests, Alex Bennée, 2024/07/29
- [PATCH 06/14] docs/devel: update the testing introduction, Alex Bennée, 2024/07/29
- [PATCH 09/14] tests/tcg: move test plugins into tcg subdir, Alex Bennée, 2024/07/29
- [PATCH 07/14] docs/devel: document how to run individual TCG tests, Alex Bennée, 2024/07/29
- [PATCH 12/14] contrib/plugins: be more vocal building, Alex Bennée, 2024/07/29
- [PATCH 11/14] contrib/plugins/cache.c: Remove redundant check of l2_access, Alex Bennée, 2024/07/29
- [PATCH 08/14] tests/avocado: remove tcg_plugins virt_mem_icount test, Alex Bennée, 2024/07/29
- [PATCH 14/14] plugin/loader: handle basic help query, Alex Bennée, 2024/07/29
- [PATCH 10/14] docs: split TCG plugin usage from devel section, Alex Bennée, 2024/07/29
- [PATCH 13/14] contrib/plugins: add compat for g_memdup2,
Alex Bennée <=