From: Christian Heimes Date: Tue, 22 Oct 2013 08:22:29 +0000 (+0200) Subject: Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the X-Git-Tag: v2.7.6rc1~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=51c4d72d436769dab2edbbc7b4685912546e8d47;p=python 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 e9d692c9dd..80a1a231f3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -9,6 +9,9 @@ What's New in Python 2.7.6? 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 unicode strings. - Issue #18739: Fix an inconsistency between math.log(n) and math.log(long(n)); diff --git a/Python/pythonrun.c b/Python/pythonrun.c index a2e1e74589..2a40c0b570 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -91,6 +91,11 @@ int _Py_QnewFlag = 0; int Py_NoUserSiteDirectory = 0; /* for -s and site.py */ int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */ + +/* 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 *