On Emscripten, function pointer casts can result in runtime failures due to strict function signature checks. This affects the use of g_list_sort and g_slist_sort, which internally perform function pointer casts that are not supported by Emscripten. To avoid these issues, g_list_sort_with_data and g_slist_sort_with_data should be used instead, as they do not rely on function pointer casting.
Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- system/vl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) V3: - This commit is included in this series sololy to ensure successful builds. It has already been picked up by a pull request, so please ignore it. diff --git a/system/vl.c b/system/vl.c index c17945c493..4ab2001df7 100644 --- a/system/vl.c +++ b/system/vl.c @@ -1524,7 +1524,7 @@ static bool debugcon_parse(const char *devname, Error **errp) return true; } -static gint machine_class_cmp(gconstpointer a, gconstpointer b) +static gint machine_class_cmp(gconstpointer a, gconstpointer b, gpointer d) { const MachineClass *mc1 = a, *mc2 = b; int res; @@ -1574,7 +1574,7 @@ static void machine_help_func(const QDict *qdict) } printf("Supported machines are:\n"); - machines = g_slist_sort(machines, machine_class_cmp); + machines = g_slist_sort_with_data(machines, machine_class_cmp, NULL); for (el = machines; el; el = el->next) { MachineClass *mc = el->data; if (mc->alias) { -- 2.43.0