From 49e61806f5675c7830f2290f3099588bd8f221dc Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Tue, 22 Oct 2013 10:22:29 +0200 Subject: Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the Python executable and not removed by the linker's optimizer. --- Misc/NEWS | 3 +++ Python/pythonrun.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/Misc/NEWS b/Misc/NEWS index 308b674..c2cb850 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 3.3.3 release candidate 1? 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 #19279: UTF-7 decoder no more produces illegal strings. - Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at diff --git a/Python/pythonrun.c b/Python/pythonrun.c index ee277b6..832df53 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -96,6 +96,10 @@ int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */ 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 * -- cgit v0.12