diff options
author | Kohei Tokunaga <ktokunaga.mail@gmail.com> | 2025-04-28 15:38:59 +0900 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-05-06 16:02:04 +0200 |
commit | 4cd5a25557cab10f8ef81407bed0dd6512526c1c (patch) | |
tree | 4b31d0544ce305dd77d1a2c207e934e76fbbd0ed | |
parent | c4eb098bc1cf3dbcc3627352031c086a6969a7cf (diff) | |
download | qemu-4cd5a25557cab10f8ef81407bed0dd6512526c1c.zip qemu-4cd5a25557cab10f8ef81407bed0dd6512526c1c.tar.gz qemu-4cd5a25557cab10f8ef81407bed0dd6512526c1c.tar.bz2 |
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 <ktokunaga.mail@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Link: https://lore.kernel.org/r/fa57c8069d6c723f5b947560677f4ca596334330.1745820062.git.ktokunaga.mail@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | include/glib-compat.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/glib-compat.h b/include/glib-compat.h index 86be439..2e32b90 100644 --- a/include/glib-compat.h +++ b/include/glib-compat.h @@ -37,6 +37,13 @@ #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 * trickery to prevent warnings being emitted. |