Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the
Python executable and not removed by the linker's optimizer.
diff --git a/Misc/NEWS b/Misc/NEWS
index 84f6e2c..06483aa 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
Core and Builtins
-----------------
+- Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the
+ Python executable and not removed by the linker's optimizer.
+
- Issue #19306: Add extra hints to the faulthandler module's stack
dumps that these are "upside down".
@@ -67,6 +70,9 @@
PyMem_Realloc().
- Issue #19199: Remove ``PyThreadState.tick_counter`` field
+=======
+- Issue #19279: UTF-7 decoder no more produces illegal strings.
+>>>>>>> other
- Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at
least one place so as to avoid regressions.
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index b963ce1..15a48f9 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -116,6 +116,10 @@
PyThreadState *_Py_Finalizing = NULL;
+/* Hack to force loading of object files */
+int (*_PyOS_mystrnicmp_hack)(const char *, const char *, Py_ssize_t) = \
+ PyOS_mystrnicmp; /* Python/pystrcmp.o */
+
/* PyModule_GetWarningsModule is no longer necessary as of 2.6
since _warnings is builtin. This API should not be used. */
PyObject *