vl.c: do not use deprecated glib API g_mem_set_vtable() 57/144557/1
authorSeokYeon Hwang <syeon.hwang@samsung.com>
Thu, 5 Nov 2015 12:12:36 +0000 (21:12 +0900)
committerjinh0.choi <jinh0.choi@samsung.com>
Thu, 17 Aug 2017 06:59:17 +0000 (15:59 +0900)
g_mem_set_vtable() has been deprecated since glib version 2.46. So,
compiler complain about it "-Wdeprecated-declarations".
We should not use g_mem_set_vtable() when glib is newer than 2.46.

Change-Id: I0fcf76fa1b18e544341c679307aa5418cf619367
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
(cherry picked from commit 9bab3cf527a73a1b8c7bcb2c1ce6a0d905b625be)

vl.c

diff --git a/vl.c b/vl.c
index 55b0e55cf9356b73b53b4732aed36a2e3db08122..274af89690141d00c252bcca3bf30c750150704c 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -2901,6 +2901,7 @@ static const QEMUOption *lookup_opt(int argc, char **argv,
     return popt;
 }
 
+#if !GLIB_CHECK_VERSION(2, 46, 0)
 static gpointer malloc_and_trace(gsize n_bytes)
 {
     void *ptr = malloc(n_bytes);
@@ -2920,6 +2921,7 @@ static void free_and_trace(gpointer mem)
     trace_g_free(mem);
     free(mem);
 }
+#endif
 
 static int object_set_property(const char *name, const char *value, void *opaque)
 {
@@ -3026,11 +3028,13 @@ int main(int argc, char **argv, char **envp)
     bool userconfig = true;
     const char *log_mask = NULL;
     const char *log_file = NULL;
+#if !GLIB_CHECK_VERSION(2, 46, 0)
     GMemVTable mem_trace = {
         .malloc = malloc_and_trace,
         .realloc = realloc_and_trace,
         .free = free_and_trace,
     };
+#endif
     const char *trace_events = NULL;
     const char *trace_file = NULL;
 
@@ -3038,7 +3042,9 @@ int main(int argc, char **argv, char **envp)
     error_set_progname(argv[0]);
     qemu_init_exec_dir(argv[0]);
 
+#if !GLIB_CHECK_VERSION(2, 46, 0)
     g_mem_set_vtable(&mem_trace);
+#endif
 
     module_call_init(MODULE_INIT_QOM);