Files
poky/meta/recipes-devtools/pseudo/files/glibc238.patch
Richard Purdie 282be2fc6e pseudo: Fix to work with glibc 2.40
glibc 2.40 renames some internal header variables. Update our hack to
work with the new version. These kinds of problems illustrate we need to
address the issue properly.

(From OE-Core rev: 63d7c11b46119f0c97d08f2fa837c02e633ab75f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-15 06:05:32 -08:00

66 lines
2.0 KiB
Diff

glibc 2.38 would include __isoc23_strtol and similar symbols. This is trggerd by
_GNU_SOURCE but we have to set that for other definitions. Therefore play with defines
to turn this off within pseudo_wrappers.c. Elsewhere we can switch to _DEFAULT_SOURCE
rather than _GNU_SOURCE.
Upstream-Status: Pending
Index: git/pseudo_wrappers.c
===================================================================
--- git.orig/pseudo_wrappers.c
+++ git/pseudo_wrappers.c
@@ -6,6 +6,18 @@
* SPDX-License-Identifier: LGPL-2.1-only
*
*/
+/* glibc 2.38 would include __isoc23_strtol and similar symbols. This is trggerd by
+ * _GNU_SOURCE but we have to set that for other definitions. Therefore play with defines
+ * to turn this off.
+ */
+#include <features.h>
+#undef __GLIBC_USE_ISOC2X
+#undef __GLIBC_USE_C2X_STRTOL
+#define __GLIBC_USE_C2X_STRTOL 0
+#undef __GLIBC_USE_ISOC23
+#undef __GLIBC_USE_C23_STRTOL
+#define __GLIBC_USE_C23_STRTOL 0
+
#include <assert.h>
#include <stdlib.h>
#include <limits.h>
Index: git/pseudo_util.c
===================================================================
--- git.orig/pseudo_util.c
+++ git/pseudo_util.c
@@ -8,6 +8,17 @@
*/
/* we need access to RTLD_NEXT for a horrible workaround */
#define _GNU_SOURCE
+/* glibc 2.38 would include __isoc23_strtol and similar symbols. This is trggerd by
+ * _GNU_SOURCE but we have to set that for other definitions. Therefore play with defines
+ * to turn this off.
+ */
+#include <features.h>
+#undef __GLIBC_USE_ISOC2X
+#undef __GLIBC_USE_C2X_STRTOL
+#define __GLIBC_USE_C2X_STRTOL 0
+#undef __GLIBC_USE_ISOC23
+#undef __GLIBC_USE_C23_STRTOL
+#define __GLIBC_USE_C23_STRTOL 0
#include <ctype.h>
#include <errno.h>
Index: git/pseudo_client.c
===================================================================
--- git.orig/pseudo_client.c
+++ git/pseudo_client.c
@@ -6,7 +6,7 @@
* SPDX-License-Identifier: LGPL-2.1-only
*
*/
-#define _GNU_SOURCE
+#define _DEFAULT_SOURCE
#include <stdio.h>
#include <signal.h>