[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 10/20] include/glib-compat.h: Poison g_list_sort and g_slist_s
From: |
Kohei Tokunaga |
Subject: |
[PATCH v2 10/20] include/glib-compat.h: Poison g_list_sort and g_slist_sort |
Date: |
Tue, 22 Apr 2025 14:27:14 +0900 |
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>
---
include/glib-compat.h | 6 ++++++
1 file changed, 6 insertions(+)
V2:
- Fixed typo in the comment: s/insted/instead/
- Updated the commit message to explicitly explain that function pointer
casts are performed internally by GLib.
diff --git a/include/glib-compat.h b/include/glib-compat.h
index 86be439ba0..53f8ea38d3 100644
--- a/include/glib-compat.h
+++ b/include/glib-compat.h
@@ -36,6 +36,12 @@
#include <pwd.h>
#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
--
2.25.1
- Re: [PATCH v2 06/20] contrib/plugins: Fix type conflict of GLib function pointers, (continued)
- [PATCH v2 07/20] hw/net/can: Fix type conflict of GLib function pointers, Kohei Tokunaga, 2025/04/22
- [PATCH v2 09/20] target/s390x: Fix type conflict of GLib function pointers, Kohei Tokunaga, 2025/04/22
- [PATCH v2 11/20] util/cacheflush.c: Update cache flushing mechanism for Emscripten, Kohei Tokunaga, 2025/04/22
- [PATCH v2 10/20] include/glib-compat.h: Poison g_list_sort and g_slist_sort,
Kohei Tokunaga <=
- [PATCH v2 08/20] target/ppc: Fix type conflict of GLib function pointers, Kohei Tokunaga, 2025/04/22
- [PATCH v2 15/20] Disable options unsupported on Emscripten, Kohei Tokunaga, 2025/04/22
- [PATCH v2 12/20] block: Add including of ioctl header for Emscripten build, Kohei Tokunaga, 2025/04/22
- [PATCH v2 13/20] block: Fix type confict of the copy_file_range stub, Kohei Tokunaga, 2025/04/22