From: Kohei Tokunaga Date: Mon, 28 Apr 2025 06:38:59 +0000 (+0900) Subject: include/glib-compat.h: Poison g_list_sort and g_slist_sort X-Git-Tag: v10.1.0-rc0~101^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4cd5a25557cab10f8ef81407bed0dd6512526c1c;p=thirdparty%2Fqemu.git include/glib-compat.h: Poison g_list_sort and g_slist_sort 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 Reviewed-by: Thomas Huth Link: https://lore.kernel.org/r/fa57c8069d6c723f5b947560677f4ca596334330.1745820062.git.ktokunaga.mail@gmail.com Signed-off-by: Paolo Bonzini --- diff --git a/include/glib-compat.h b/include/glib-compat.h index 86be439ba0e..2e32b90f051 100644 --- a/include/glib-compat.h +++ b/include/glib-compat.h @@ -36,6 +36,13 @@ #include #endif +/* + * These functions perform function pointer casts which can cause function call + * failure on Emscripten. Use g_slist_sort_with_data and g_list_sort_with_data + * instead of these functions. + */ +#pragma GCC poison g_slist_sort g_list_sort + /* * Note that because of the GLIB_VERSION_MAX_ALLOWED constant above, allowing * use of functions from newer GLib via this compat header needs a little