More pre-2.3 build tweaks for the OS/2 EMX port:

- separate the building of the core from the wrapper executables and the
  external modules (.PYDs), based on the Py_BUILD_CORE define;

- clean up the generated import library definiton (.DEF file) to remove
  references to a number of non-static symbols that aren't part of the
  Python API and which shouldn't be exported by the core DLL;

- compile the release build with -fomit-frame-pointer, for a small
  performance gain;

- make "make clean" remove byte compiled Python library files.
diff --git a/PC/os2emx/python23.def b/PC/os2emx/python23.def
index f6c507a..7c33327 100644
--- a/PC/os2emx/python23.def
+++ b/PC/os2emx/python23.def
@@ -8,16 +8,16 @@
   "_PyImport_Inittab"
 
 ; From python23_s.lib(dlfcn)
-  "dlopen"
-  "dlsym"
-  "dlclose"
-  "dlerror"
+;  "dlopen"
+;  "dlsym"
+;  "dlclose"
+;  "dlerror"
 
 ; From python23_s.lib(getpathp)
-  "Py_GetPath"
+  "Py_GetProgramFullPath"
   "Py_GetPrefix"
   "Py_GetExecPrefix"
-  "Py_GetProgramFullPath"
+  "Py_GetPath"
 
 ; From python23_s.lib(getbuildinfo)
   "Py_GetBuildInfo"
@@ -38,22 +38,22 @@
   "PyNode_ListTree"
 
 ; From python23_s.lib(node)
-  "PyNode_New"
   "PyNode_AddChild"
+  "PyNode_New"
   "PyNode_Free"
 
 ; From python23_s.lib(parser)
+  "PyParser_AddToken"
   "PyParser_New"
   "PyParser_Delete"
-  "PyParser_AddToken"
 
 ; From python23_s.lib(parsetok)
   "Py_TabcheckFlag"
   "PyParser_ParseString"
   "PyParser_ParseStringFlags"
-  "PyParser_ParseStringFlagsFilename"
   "PyParser_ParseFile"
   "PyParser_ParseFileFlags"
+  "PyParser_ParseStringFlagsFilename"
 
 ; From python23_s.lib(bitset)
   "_Py_newbitset"
@@ -64,14 +64,15 @@
 
 ; From python23_s.lib(metagrammar)
   "_Py_meta_grammar"
+  "Py_meta_grammar"
 
 ; From python23_s.lib(tokenizer)
-  "PyTokenizer_FromString"
-  "PyTokenizer_FromFile"
-  "PyTokenizer_Free"
   "PyToken_OneChar"
   "PyToken_TwoChars"
   "PyToken_ThreeChars"
+  "PyTokenizer_FromString"
+  "PyTokenizer_FromFile"
+  "PyTokenizer_Free"
   "PyTokenizer_Get"
   "_PyParser_TokenNames"
 
@@ -82,97 +83,97 @@
   "PyOS_InputHook"
 
 ; From python23_s.lib(abstract)
-  "PyObject_Cmp"
-  "PyObject_Type"
-  "PyObject_Size"
-  "PyMapping_Size"
-  "PyObject_Length"
   "PyObject_GetItem"
   "PySequence_GetItem"
   "PyObject_SetItem"
   "PySequence_SetItem"
   "PyObject_DelItem"
   "PySequence_DelItem"
-  "PyObject_DelItemString"
-  "PyObject_AsCharBuffer"
-  "PyObject_CheckReadBuffer"
-  "PyObject_AsReadBuffer"
-  "PyObject_AsWriteBuffer"
-  "PyNumber_Check"
-  "PyNumber_Or"
-  "PyNumber_Xor"
-  "PyNumber_And"
-  "PyNumber_Lshift"
-  "PyNumber_Rshift"
-  "PyNumber_Subtract"
-  "PyNumber_Divide"
-  "PyNumber_Divmod"
-  "PyNumber_Add"
   "PyNumber_Multiply"
-  "PyNumber_FloorDivide"
-  "PyNumber_TrueDivide"
-  "PyNumber_Remainder"
-  "PyNumber_Power"
-  "PyNumber_InPlaceOr"
-  "PyNumber_InPlaceXor"
-  "PyNumber_InPlaceAnd"
-  "PyNumber_InPlaceLshift"
-  "PyNumber_InPlaceRshift"
-  "PyNumber_InPlaceSubtract"
-  "PyNumber_InPlaceDivide"
-  "PyNumber_InPlaceFloorDivide"
-  "PyNumber_InPlaceTrueDivide"
   "PyNumber_InPlaceAdd"
   "PyNumber_InPlaceMultiply"
-  "PyNumber_InPlaceRemainder"
-  "PyNumber_InPlacePower"
-  "PyNumber_Negative"
-  "PyNumber_Positive"
-  "PyNumber_Invert"
-  "PyNumber_Absolute"
   "PyNumber_Int"
   "PyNumber_Long"
   "PyNumber_Float"
-  "PySequence_Check"
-  "PySequence_Size"
-  "PySequence_Length"
-  "PySequence_Concat"
-  "PySequence_Repeat"
-  "PySequence_InPlaceConcat"
-  "PySequence_InPlaceRepeat"
   "PySequence_GetSlice"
   "PySequence_SetSlice"
-  "PySequence_DelSlice"
   "PySequence_Tuple"
   "PyObject_GetIter"
   "PyIter_Next"
   "PySequence_List"
-  "PySequence_Fast"
   "_PySequence_IterSearch"
-  "PySequence_Count"
-  "PySequence_Contains"
-  "PySequence_In"
-  "PySequence_Index"
-  "PyMapping_Check"
-  "PyMapping_Length"
-  "PyMapping_GetItemString"
-  "PyMapping_SetItemString"
-  "PyMapping_HasKeyString"
-  "PyMapping_HasKey"
-  "PyObject_CallObject"
-  "PyObject_Call"
   "PyObject_CallFunction"
   "PyObject_CallMethod"
   "PyObject_CallMethodObjArgs"
   "PyObject_CallFunctionObjArgs"
   "PyObject_IsInstance"
   "PyObject_IsSubclass"
+  "PyObject_Cmp"
+  "PyObject_Call"
+  "PyObject_CallObject"
+  "PyObject_Type"
+  "PyObject_Size"
+  "PyMapping_Size"
+  "PyObject_Length"
+  "PyObject_DelItemString"
+  "PyObject_AsCharBuffer"
+  "PyObject_CheckReadBuffer"
+  "PyObject_AsReadBuffer"
+  "PyObject_AsWriteBuffer"
+  "PyNumber_Check"
+  "PyNumber_Add"
+  "PyNumber_Subtract"
+  "PyNumber_Divide"
+  "PyNumber_FloorDivide"
+  "PyNumber_TrueDivide"
+  "PyNumber_Remainder"
+  "PyNumber_Divmod"
+  "PyNumber_Power"
+  "PyNumber_Negative"
+  "PyNumber_Positive"
+  "PyNumber_Absolute"
+  "PyNumber_Invert"
+  "PyNumber_Lshift"
+  "PyNumber_Rshift"
+  "PyNumber_And"
+  "PyNumber_Xor"
+  "PyNumber_Or"
+  "PyNumber_InPlaceSubtract"
+  "PyNumber_InPlaceDivide"
+  "PyNumber_InPlaceFloorDivide"
+  "PyNumber_InPlaceTrueDivide"
+  "PyNumber_InPlaceRemainder"
+  "PyNumber_InPlacePower"
+  "PyNumber_InPlaceLshift"
+  "PyNumber_InPlaceRshift"
+  "PyNumber_InPlaceAnd"
+  "PyNumber_InPlaceXor"
+  "PyNumber_InPlaceOr"
+  "PySequence_Check"
+  "PySequence_Size"
+  "PySequence_Length"
+  "PySequence_Concat"
+  "PySequence_Repeat"
+  "PySequence_DelSlice"
+  "PySequence_Fast"
+  "PySequence_Count"
+  "PySequence_Contains"
+  "PySequence_In"
+  "PySequence_Index"
+  "PySequence_InPlaceConcat"
+  "PySequence_InPlaceRepeat"
+  "PyMapping_Check"
+  "PyMapping_Length"
+  "PyMapping_HasKeyString"
+  "PyMapping_HasKey"
+  "PyMapping_GetItemString"
+  "PyMapping_SetItemString"
 
 ; From python23_s.lib(boolobject)
   "PyBool_FromLong"
+  "PyBool_Type"
   "_Py_ZeroStruct"
   "_Py_TrueStruct"
-  "PyBool_Type"
 
 ; From python23_s.lib(bufferobject)
   "PyBuffer_FromObject"
@@ -190,17 +191,18 @@
 
 ; From python23_s.lib(classobject)
   "PyClass_New"
-  "PyMethod_Function"
-  "PyMethod_Self"
-  "PyMethod_Class"
   "PyClass_IsSubclass"
   "PyInstance_New"
   "PyInstance_NewRaw"
   "PyMethod_New"
+  "PyMethod_Function"
+  "PyMethod_Self"
+  "PyMethod_Class"
+  "_PyInstance_Lookup"
   "PyMethod_Fini"
   "PyClass_Type"
-  "PyMethod_Type"
   "PyInstance_Type"
+  "PyMethod_Type"
 
 ; From python23_s.lib(cobject)
   "PyCObject_FromVoidPtr"
@@ -211,12 +213,12 @@
   "PyCObject_Type"
 
 ; From python23_s.lib(complexobject)
+  "_Py_c_pow"
   "_Py_c_sum"
   "_Py_c_diff"
   "_Py_c_neg"
   "_Py_c_prod"
   "_Py_c_quot"
-  "_Py_c_pow"
   "PyComplex_FromCComplex"
   "PyComplex_FromDoubles"
   "PyComplex_RealAsDouble"
@@ -236,20 +238,20 @@
   "PyProperty_Type"
 
 ; From python23_s.lib(dictobject)
-  "PyDict_New"
-  "PyDict_GetItem"
   "PyDict_SetItem"
   "PyDict_DelItem"
   "PyDict_Clear"
-  "PyDict_Next"
-  "PyDict_Update"
   "PyDict_MergeFromSeq2"
   "PyDict_Merge"
   "PyDict_Copy"
-  "PyDict_Size"
   "PyDict_Keys"
   "PyDict_Values"
+  "PyDict_New"
+  "PyDict_GetItem"
+  "PyDict_Next"
   "PyDict_Items"
+  "PyDict_Size"
+  "PyDict_Update"
   "PyDict_GetItemString"
   "PyDict_SetItemString"
   "PyDict_DelItemString"
@@ -260,11 +262,6 @@
   "PyEnum_Type"
 
 ; From python23_s.lib(fileobject)
-  "PyFile_AsFile"
-  "PyFile_Name"
-  "PyFile_FromFile"
-  "PyFile_FromString"
-  "PyFile_SetBufSize"
   "Py_UniversalNewlineFread"
   "PyFile_GetLine"
   "PyFile_SoftSpace"
@@ -272,26 +269,36 @@
   "PyFile_WriteString"
   "PyObject_AsFileDescriptor"
   "Py_UniversalNewlineFgets"
+  "PyFile_FromString"
+  "PyFile_SetBufSize"
+  "PyFile_SetEncoding"
+  "PyFile_FromFile"
+  "PyFile_AsFile"
+  "PyFile_Name"
   "PyFile_Type"
 
 ; From python23_s.lib(floatobject)
-  "PyFloat_FromDouble"
   "PyFloat_FromString"
   "PyFloat_AsDouble"
-  "PyFloat_AsStringEx"
-  "PyFloat_AsString"
-  "PyFloat_AsReprString"
   "PyFloat_Fini"
+  "_PyFloat_Pack4"
+  "_PyFloat_Pack8"
+  "PyFloat_FromDouble"
+  "PyFloat_AsReprString"
+  "PyFloat_AsString"
+  "_PyFloat_Unpack4"
+  "_PyFloat_Unpack8"
+  "PyFloat_AsStringEx"
   "PyFloat_Type"
 
 ; From python23_s.lib(frameobject)
-  "PyFrame_FastToLocals"
-  "_PyFrame_Init"
   "PyFrame_New"
+  "PyFrame_FastToLocals"
+  "PyFrame_LocalsToFast"
+  "_PyFrame_Init"
+  "PyFrame_Fini"
   "PyFrame_BlockSetup"
   "PyFrame_BlockPop"
-  "PyFrame_LocalsToFast"
-  "PyFrame_Fini"
   "PyFrame_Type"
 
 ; From python23_s.lib(funcobject)
@@ -310,13 +317,15 @@
   "PyStaticMethod_Type"
 
 ; From python23_s.lib(intobject)
-  "PyInt_GetMax"
-  "PyInt_FromLong"
   "PyInt_AsLong"
+  "PyInt_AsUnsignedLongMask"
+  "PyInt_AsUnsignedLongLongMask"
   "PyInt_FromString"
-  "PyInt_FromUnicode"
-  "_PyInt_Init"
   "PyInt_Fini"
+  "PyInt_FromUnicode"
+  "PyInt_FromLong"
+  "PyInt_GetMax"
+  "_PyInt_Init"
   "PyInt_Type"
 
 ; From python23_s.lib(iterobject)
@@ -327,11 +336,11 @@
 
 ; From python23_s.lib(listobject)
   "PyList_New"
+  "PyList_Insert"
+  "PyList_Append"
   "PyList_Size"
   "PyList_GetItem"
   "PyList_SetItem"
-  "PyList_Insert"
-  "PyList_Append"
   "PyList_GetSlice"
   "PyList_SetSlice"
   "PyList_Sort"
@@ -341,90 +350,93 @@
   "PyListIter_Type"
 
 ; From python23_s.lib(longobject)
-  "_PyLong_New"
-  "_PyLong_Copy"
-  "PyLong_FromLong"
-  "PyLong_FromUnsignedLong"
   "PyLong_FromDouble"
   "PyLong_AsLong"
-  "PyLong_AsUnsignedLong"
-  "_PyLong_Sign"
-  "_PyLong_NumBits"
   "_PyLong_FromByteArray"
   "_PyLong_AsByteArray"
-  "_PyLong_AsScaledDouble"
   "PyLong_AsDouble"
+  "PyLong_FromString"
+  "PyLong_FromLong"
+  "PyLong_FromUnsignedLong"
+  "PyLong_AsUnsignedLong"
+  "PyLong_AsUnsignedLongMask"
+  "_PyLong_AsScaledDouble"
   "PyLong_FromVoidPtr"
   "PyLong_AsVoidPtr"
   "PyLong_FromLongLong"
   "PyLong_FromUnsignedLongLong"
   "PyLong_AsLongLong"
   "PyLong_AsUnsignedLongLong"
-  "PyLong_FromString"
+  "PyLong_AsUnsignedLongLongMask"
   "PyLong_FromUnicode"
+  "_PyLong_Sign"
+  "_PyLong_NumBits"
+  "_PyLong_New"
+  "_PyLong_Copy"
   "PyLong_Type"
 
 ; From python23_s.lib(methodobject)
-  "PyCFunction_NewEx"
+  "PyCFunction_Call"
+  "Py_FindMethodInChain"
   "PyCFunction_GetFunction"
   "PyCFunction_GetSelf"
   "PyCFunction_GetFlags"
-  "PyCFunction_Call"
-  "Py_FindMethodInChain"
   "Py_FindMethod"
+  "PyCFunction_NewEx"
   "PyCFunction_Fini"
   "PyCFunction_New"
   "PyCFunction_Type"
 
 ; From python23_s.lib(moduleobject)
   "PyModule_New"
+  "_PyModule_Clear"
   "PyModule_GetDict"
   "PyModule_GetName"
   "PyModule_GetFilename"
-  "_PyModule_Clear"
   "PyModule_Type"
 
 ; From python23_s.lib(object)
   "Py_DivisionWarningFlag"
-  "PyObject_Init"
-  "PyObject_InitVar"
-  "_PyObject_New"
-  "_PyObject_NewVar"
-  "_PyObject_Del"
   "PyObject_Str"
   "PyObject_Repr"
-  "PyObject_Print"
-  "_PyObject_Dump"
   "PyObject_Unicode"
   "PyObject_GetAttr"
   "PyObject_IsTrue"
   "PyNumber_CoerceEx"
   "PyObject_Compare"
   "PyObject_RichCompare"
-  "PyObject_RichCompareBool"
   "_Py_HashDouble"
   "PyObject_Hash"
-  "_Py_HashPointer"
-  "PyObject_GetAttrString"
-  "PyObject_HasAttrString"
-  "PyObject_SetAttrString"
   "PyObject_SetAttr"
-  "PyObject_HasAttr"
-  "_PyObject_GetDictPtr"
   "PyObject_GenericGetAttr"
   "PyObject_GenericSetAttr"
-  "PyObject_Not"
-  "PyNumber_Coerce"
   "PyCallable_Check"
   "PyObject_Dir"
-  "_Py_ReadyTypes"
   "PyMem_Malloc"
   "PyMem_Realloc"
   "PyMem_Free"
+  "PyObject_Print"
+  "_PyObject_Dump"
+  "PyObject_RichCompareBool"
+  "PyObject_GetAttrString"
+  "PyObject_SetAttrString"
+  "PyObject_HasAttrString"
+  "PyObject_HasAttr"
+  "_PyObject_GetDictPtr"
+  "PyObject_SelfIter"
+  "PyObject_Not"
+  "PyNumber_Coerce"
   "Py_ReprEnter"
   "Py_ReprLeave"
+  "_Py_HashPointer"
   "_PyTrash_deposit_object"
   "_PyTrash_destroy_chain"
+  "PyObject_Init"
+  "PyObject_InitVar"
+  "_PyObject_New"
+  "_PyObject_NewVar"
+  "_PyObject_Del"
+  "_Py_ReadyTypes"
   "_Py_NotImplementedStruct"
   "_Py_NoneStruct"
   "_Py_cobject_hack"
@@ -442,9 +454,9 @@
   "PyRange_Type"
 
 ; From python23_s.lib(sliceobject)
-  "PySlice_New"
   "PySlice_GetIndices"
   "PySlice_GetIndicesEx"
+  "PySlice_New"
   "_Py_EllipsisObject"
   "PySlice_Type"
 
@@ -456,60 +468,58 @@
   "PyString_AsString"
   "_PyString_Resize"
   "PyString_FromFormat"
-  "PyString_Decode"
   "PyString_AsDecodedString"
-  "PyString_AsDecodedObject"
-  "PyString_Encode"
   "PyString_AsEncodedString"
-  "PyString_AsEncodedObject"
   "PyString_DecodeEscape"
   "PyString_Size"
-  "PyString_AsStringAndSize"
   "PyString_Repr"
-  "_PyString_Eq"
-  "_PyString_Join"
+  "PyString_AsStringAndSize"
+  "_PyString_FormatLong"
   "PyString_Format"
+  "_Py_ReleaseInternedStrings"
   "PyString_Concat"
   "PyString_ConcatAndDel"
-  "_PyString_FormatLong"
+  "_PyString_Eq"
   "PyString_InternImmortal"
   "PyString_InternFromString"
+  "_PyString_Join"
+  "PyString_Decode"
+  "PyString_Encode"
+  "PyString_AsEncodedObject"
+  "PyString_AsDecodedObject"
   "PyString_Fini"
-  "_Py_ReleaseInternedStrings"
   "PyString_Type"
   "PyBaseString_Type"
 
 ; From python23_s.lib(structseq)
-  "PyStructSequence_New"
   "PyStructSequence_InitType"
+  "PyStructSequence_New"
   "PyStructSequence_UnnamedField"
 
 ; From python23_s.lib(tupleobject)
   "PyTuple_New"
+  "_PyTuple_Resize"
   "PyTuple_Size"
   "PyTuple_GetItem"
   "PyTuple_SetItem"
   "PyTuple_GetSlice"
-  "_PyTuple_Resize"
   "PyTuple_Fini"
   "PyTuple_Type"
   "PyTupleIter_Type"
 
 ; From python23_s.lib(typeobject)
   "PyType_IsSubtype"
-  "PyType_GenericAlloc"
-  "PyType_GenericNew"
   "_PyType_Lookup"
   "PyType_Ready"
+  "PyType_GenericAlloc"
   "_PyObject_SlotCompare"
+  "PyType_GenericNew"
   "PyType_Type"
   "PyBaseObject_Type"
   "PySuper_Type"
 
 ; From python23_s.lib(unicodeobject)
-  "PyUnicodeUCS2_GetMax"
   "PyUnicodeUCS2_Resize"
-  "PyUnicodeUCS2_FromUnicode"
   "PyUnicodeUCS2_FromOrdinal"
   "PyUnicodeUCS2_FromObject"
   "PyUnicodeUCS2_FromEncodedObject"
@@ -518,34 +528,21 @@
   "PyUnicodeUCS2_DecodeUTF8"
   "PyUnicodeUCS2_DecodeLatin1"
   "PyUnicodeUCS2_DecodeASCII"
-  "PyUnicodeUCS2_Encode"
   "PyUnicodeUCS2_AsEncodedString"
   "PyUnicodeUCS2_AsUTF8String"
   "PyUnicodeUCS2_AsLatin1String"
   "PyUnicodeUCS2_AsASCIIString"
-  "_PyUnicodeUCS2_AsDefaultEncodedString"
-  "PyUnicodeUCS2_AsUnicode"
-  "PyUnicodeUCS2_GetSize"
-  "PyUnicodeUCS2_SetDefaultEncoding"
   "PyUnicode_DecodeUTF7"
   "PyUnicode_EncodeUTF7"
   "PyUnicodeUCS2_EncodeUTF8"
   "PyUnicodeUCS2_DecodeUTF16"
-  "PyUnicodeUCS2_EncodeUTF16"
   "PyUnicodeUCS2_AsUTF16String"
   "PyUnicodeUCS2_DecodeUnicodeEscape"
-  "PyUnicodeUCS2_EncodeUnicodeEscape"
-  "PyUnicodeUCS2_AsUnicodeEscapeString"
   "PyUnicodeUCS2_DecodeRawUnicodeEscape"
   "PyUnicodeUCS2_EncodeRawUnicodeEscape"
-  "PyUnicodeUCS2_AsRawUnicodeEscapeString"
-  "PyUnicodeUCS2_EncodeLatin1"
-  "PyUnicodeUCS2_EncodeASCII"
   "PyUnicodeUCS2_DecodeCharmap"
   "PyUnicodeUCS2_EncodeCharmap"
-  "PyUnicodeUCS2_AsCharmapString"
   "PyUnicodeUCS2_TranslateCharmap"
-  "PyUnicodeUCS2_Translate"
   "PyUnicodeUCS2_EncodeDecimal"
   "PyUnicodeUCS2_Count"
   "PyUnicodeUCS2_Find"
@@ -559,34 +556,49 @@
   "PyUnicodeUCS2_Replace"
   "PyUnicodeUCS2_Split"
   "PyUnicodeUCS2_Format"
-  "_PyUnicodeUCS2_Init"
   "_PyUnicodeUCS2_Fini"
+  "PyUnicodeUCS2_FromUnicode"
+  "PyUnicodeUCS2_AsUnicode"
+  "PyUnicodeUCS2_GetSize"
+  "PyUnicodeUCS2_GetMax"
+  "_PyUnicodeUCS2_AsDefaultEncodedString"
+  "PyUnicodeUCS2_SetDefaultEncoding"
+  "PyUnicodeUCS2_Encode"
+  "PyUnicodeUCS2_EncodeUTF16"
+  "PyUnicodeUCS2_AsUnicodeEscapeString"
+  "PyUnicodeUCS2_EncodeUnicodeEscape"
+  "PyUnicodeUCS2_AsRawUnicodeEscapeString"
+  "PyUnicodeUCS2_EncodeLatin1"
+  "PyUnicodeUCS2_EncodeASCII"
+  "PyUnicodeUCS2_AsCharmapString"
+  "PyUnicodeUCS2_Translate"
+  "_PyUnicodeUCS2_Init"
   "PyUnicode_Type"
 
 ; From python23_s.lib(unicodectype)
   "_PyUnicode_TypeRecords"
-  "_PyUnicodeUCS2_IsLinebreak"
-  "_PyUnicodeUCS2_ToTitlecase"
-  "_PyUnicodeUCS2_IsTitlecase"
-  "_PyUnicodeUCS2_ToDecimalDigit"
-  "_PyUnicodeUCS2_IsDecimalDigit"
-  "_PyUnicodeUCS2_ToDigit"
-  "_PyUnicodeUCS2_IsDigit"
   "_PyUnicodeUCS2_ToNumeric"
-  "_PyUnicodeUCS2_IsNumeric"
-  "_PyUnicodeUCS2_IsWhitespace"
   "_PyUnicodeUCS2_IsLowercase"
   "_PyUnicodeUCS2_IsUppercase"
-  "_PyUnicodeUCS2_ToUppercase"
+  "_PyUnicodeUCS2_IsTitlecase"
+  "_PyUnicodeUCS2_IsWhitespace"
+  "_PyUnicodeUCS2_IsLinebreak"
   "_PyUnicodeUCS2_ToLowercase"
+  "_PyUnicodeUCS2_ToUppercase"
+  "_PyUnicodeUCS2_ToTitlecase"
+  "_PyUnicodeUCS2_ToDecimalDigit"
+  "_PyUnicodeUCS2_ToDigit"
+  "_PyUnicodeUCS2_IsDecimalDigit"
+  "_PyUnicodeUCS2_IsDigit"
+  "_PyUnicodeUCS2_IsNumeric"
   "_PyUnicodeUCS2_IsAlpha"
 
 ; From python23_s.lib(weakrefobject)
-  "_PyWeakref_GetWeakrefCount"
   "PyWeakref_NewRef"
   "PyWeakref_NewProxy"
-  "PyWeakref_GetObject"
   "PyObject_ClearWeakRefs"
+  "PyWeakref_GetObject"
+  "_PyWeakref_GetWeakrefCount"
   "_PyWeakref_RefType"
   "_PyWeakref_ProxyType"
   "_PyWeakref_CallableProxyType"
@@ -596,11 +608,8 @@
   "Py_FileSystemDefaultEncoding"
 
 ; From python23_s.lib(exceptions)
-  "PyExc_TypeError"
   "PyExc_Exception"
-  "PyExc_UnicodeEncodeError"
-  "PyExc_UnicodeDecodeError"
-  "PyExc_UnicodeTranslateError"
+  "PyExc_TypeError"
   "PyExc_StopIteration"
   "PyExc_StandardError"
   "PyExc_SystemExit"
@@ -628,6 +637,9 @@
   "PyExc_FloatingPointError"
   "PyExc_ValueError"
   "PyExc_UnicodeError"
+  "PyExc_UnicodeEncodeError"
+  "PyExc_UnicodeDecodeError"
+  "PyExc_UnicodeTranslateError"
   "PyExc_ReferenceError"
   "PyExc_SystemError"
   "PyExc_MemoryError"
@@ -640,19 +652,24 @@
   "PyExc_RuntimeWarning"
   "PyExc_FutureWarning"
   "PyExc_MemoryErrorInst"
+  "PyUnicodeEncodeError_GetStart"
+  "PyUnicodeDecodeError_GetStart"
+  "PyUnicodeEncodeError_GetEnd"
+  "PyUnicodeDecodeError_GetEnd"
+  "_PyExc_Init"
+  "_PyExc_Fini"
+  "PyUnicodeDecodeError_Create"
+  "PyUnicodeEncodeError_Create"
+  "PyUnicodeTranslateError_Create"
   "PyUnicodeEncodeError_GetEncoding"
   "PyUnicodeDecodeError_GetEncoding"
   "PyUnicodeEncodeError_GetObject"
   "PyUnicodeDecodeError_GetObject"
   "PyUnicodeTranslateError_GetObject"
-  "PyUnicodeEncodeError_GetStart"
-  "PyUnicodeDecodeError_GetStart"
   "PyUnicodeTranslateError_GetStart"
   "PyUnicodeEncodeError_SetStart"
   "PyUnicodeDecodeError_SetStart"
   "PyUnicodeTranslateError_SetStart"
-  "PyUnicodeEncodeError_GetEnd"
-  "PyUnicodeDecodeError_GetEnd"
   "PyUnicodeTranslateError_GetEnd"
   "PyUnicodeEncodeError_SetEnd"
   "PyUnicodeDecodeError_SetEnd"
@@ -663,100 +680,94 @@
   "PyUnicodeEncodeError_SetReason"
   "PyUnicodeDecodeError_SetReason"
   "PyUnicodeTranslateError_SetReason"
-  "PyUnicodeEncodeError_Create"
-  "PyUnicodeDecodeError_Create"
-  "PyUnicodeTranslateError_Create"
-  "_PyExc_Init"
-  "_PyExc_Fini"
 
 ; From python23_s.lib(ceval)
+  "PyEval_CallObjectWithKeywords"
+  "PyEval_EvalCodeEx"
+  "_PyEval_SliceIndex"
+  "PyEval_GetFrame"
+  "PyEval_CallObject"
+  "PyEval_SetProfile"
+  "PyEval_SetTrace"
+  "PyEval_GetBuiltins"
+  "PyEval_GetGlobals"
+  "PyEval_GetLocals"
+  "PyEval_GetRestricted"
+  "PyEval_MergeCompilerFlags"
+  "Py_FlushLine"
+  "Py_AddPendingCall"
+  "Py_MakePendingCalls"
+  "Py_SetRecursionLimit"
+  "Py_GetRecursionLimit"
+  "PyEval_GetFuncName"
+  "PyEval_GetFuncDesc"
   "PyEval_GetCallStats"
+  "PyEval_SaveThread"
+  "PyEval_RestoreThread"
   "PyEval_InitThreads"
   "PyEval_AcquireLock"
   "PyEval_ReleaseLock"
   "PyEval_AcquireThread"
   "PyEval_ReleaseThread"
   "PyEval_ReInitThreads"
-  "PyEval_SaveThread"
-  "PyEval_RestoreThread"
-  "Py_AddPendingCall"
-  "Py_MakePendingCalls"
-  "Py_GetRecursionLimit"
-  "Py_SetRecursionLimit"
   "PyEval_EvalCode"
-  "PyEval_EvalCodeEx"
-  "PyEval_CallObjectWithKeywords"
-  "PyEval_SetProfile"
-  "PyEval_SetTrace"
-  "PyEval_GetBuiltins"
-  "PyEval_GetFrame"
-  "PyEval_GetLocals"
-  "PyEval_GetGlobals"
-  "PyEval_GetRestricted"
-  "PyEval_MergeCompilerFlags"
-  "Py_FlushLine"
-  "PyEval_CallObject"
-  "PyEval_GetFuncName"
-  "PyEval_GetFuncDesc"
-  "_PyEval_SliceIndex"
-  "_Py_Ticker"
+  "_PyEval_CallTracing"
   "_Py_CheckInterval"
+  "_Py_Ticker"
 
 ; From python23_s.lib(compile)
   "PyCode_New"
+  "PySymtable_Free"
   "_Py_Mangle"
   "PyNode_Compile"
   "PyNode_CompileFlags"
-  "PyNode_CompileSymtable"
-  "PySymtable_Free"
   "PyCode_Addr2Line"
+  "PyNode_CompileSymtable"
   "Py_OptimizeFlag"
   "PyCode_Type"
 
 ; From python23_s.lib(codecs)
-  "PyCodec_Register"
   "_PyCodec_Lookup"
-  "PyCodec_Encoder"
-  "PyCodec_Decoder"
   "PyCodec_StreamReader"
   "PyCodec_StreamWriter"
   "PyCodec_Encode"
   "PyCodec_Decode"
-  "PyCodec_RegisterError"
-  "PyCodec_LookupError"
-  "PyCodec_StrictErrors"
   "PyCodec_IgnoreErrors"
   "PyCodec_ReplaceErrors"
   "PyCodec_XMLCharRefReplaceErrors"
   "PyCodec_BackslashReplaceErrors"
-  "_PyCodecRegistry_Init"
-  "_PyCodecRegistry_Fini"
+  "PyCodec_Register"
+  "PyCodec_Encoder"
+  "PyCodec_Decoder"
+  "PyCodec_RegisterError"
+  "PyCodec_LookupError"
+  "PyCodec_StrictErrors"
 
 ; From python23_s.lib(errors)
-  "PyErr_Restore"
-  "PyErr_SetObject"
   "PyErr_SetNone"
   "PyErr_SetString"
-  "PyErr_Occurred"
-  "PyErr_GivenExceptionMatches"
   "PyErr_ExceptionMatches"
+  "PyErr_GivenExceptionMatches"
   "PyErr_NormalizeException"
   "PyErr_Fetch"
   "PyErr_Clear"
-  "PyErr_BadArgument"
   "PyErr_NoMemory"
   "PyErr_SetFromErrnoWithFilenameObject"
-  "PyErr_SetFromErrnoWithFilename"
-  "PyErr_SetFromErrno"
-  "_PyErr_BadInternalCall"
   "PyErr_Format"
-  "PyErr_BadInternalCall"
   "PyErr_NewException"
   "PyErr_WriteUnraisable"
-  "PyErr_Warn"
-  "PyErr_WarnExplicit"
   "PyErr_SyntaxLocation"
   "PyErr_ProgramText"
+  "PyErr_SetObject"
+  "PyErr_Occurred"
+  "PyErr_Restore"
+  "PyErr_BadArgument"
+  "PyErr_SetFromErrno"
+  "PyErr_SetFromErrnoWithFilename"
+  "PyErr_BadInternalCall"
+  "_PyErr_BadInternalCall"
+  "PyErr_Warn"
+  "PyErr_WarnExplicit"
 
 ; From python23_s.lib(frozen)
   "PyImport_FrozenModules"
@@ -770,9 +781,9 @@
 ; From python23_s.lib(getargs)
   "PyArg_Parse"
   "PyArg_ParseTuple"
-  "PyArg_VaParse"
   "PyArg_ParseTupleAndKeywords"
   "PyArg_UnpackTuple"
+  "PyArg_VaParse"
 
 ; From python23_s.lib(getcompiler)
   "Py_GetCompiler"
@@ -796,22 +807,22 @@
   "_PyImport_Init"
   "_PyImportHooks_Init"
   "PyImport_ImportModule"
-  "_PyImport_Fini"
-  "PyImport_GetModuleDict"
   "PyImport_Cleanup"
-  "PyImport_GetMagicNumber"
   "_PyImport_FixupExtension"
-  "_PyImport_FindExtension"
   "PyImport_AddModule"
-  "PyImport_ExecCodeModule"
   "PyImport_ExecCodeModuleEx"
   "PyImport_ImportFrozenModule"
-  "PyImport_Import"
   "PyImport_ImportModuleEx"
   "PyImport_ReloadModule"
+  "PyImport_Import"
 ;  "initimp"
-  "PyImport_ExtendInittab"
+  "_PyImport_Fini"
+  "PyImport_GetMagicNumber"
+  "PyImport_ExecCodeModule"
+  "PyImport_GetModuleDict"
+  "_PyImport_FindExtension"
   "PyImport_AppendInittab"
+  "PyImport_ExtendInittab"
   "PyImport_Inittab"
   "_PyImport_Filetab"
 
@@ -819,14 +830,14 @@
   "_PyImport_LoadDynamicModule"
 
 ; From python23_s.lib(marshal)
-  "PyMarshal_WriteLongToFile"
-  "PyMarshal_WriteObjectToFile"
-  "PyMarshal_ReadShortFromFile"
   "PyMarshal_ReadLongFromFile"
   "PyMarshal_ReadLastObjectFromFile"
   "PyMarshal_ReadObjectFromString"
   "PyMarshal_ReadObjectFromFile"
   "PyMarshal_WriteObjectToString"
+  "PyMarshal_WriteLongToFile"
+  "PyMarshal_WriteObjectToFile"
+  "PyMarshal_ReadShortFromFile"
   "PyMarshal_Init"
 
 ; From python23_s.lib(modsupport)
@@ -852,20 +863,26 @@
   "PyFPE_dummy"
 
 ; From python23_s.lib(pystate)
-  "PyInterpreterState_New"
   "PyInterpreterState_Clear"
   "PyThreadState_Clear"
-  "PyThreadState_Delete"
+  "PyGILState_Ensure"
+  "PyGILState_Release"
+  "PyInterpreterState_New"
   "PyInterpreterState_Delete"
+  "PyThreadState_Delete"
   "PyThreadState_New"
   "PyThreadState_DeleteCurrent"
   "PyThreadState_Get"
   "PyThreadState_Swap"
   "PyThreadState_GetDict"
+  "PyThreadState_SetAsyncExc"
+  "PyGILState_GetThisThreadState"
   "PyInterpreterState_Head"
   "PyInterpreterState_Next"
   "PyInterpreterState_ThreadHead"
   "PyThreadState_Next"
+  "_PyGILState_Init"
+  "_PyGILState_Fini"
   "_PyThreadState_Current"
   "_PyThreadState_GetFrame"
 
@@ -876,78 +893,80 @@
   "Py_NoSiteFlag"
   "Py_InteractiveFlag"
   "Py_FrozenFlag"
-  "Py_IsInitialized"
   "Py_Initialize"
   "Py_FatalError"
-  "Py_Finalize"
   "Py_NewInterpreter"
   "PyErr_Print"
-  "Py_EndInterpreter"
+  "PyRun_InteractiveOneFlags"
+  "PyRun_SimpleFileExFlags"
+  "PyRun_FileExFlags"
+  "Py_Exit"
+  "PyErr_PrintEx"
+  "PyErr_Display"
   "Py_SetProgramName"
   "Py_GetProgramName"
   "Py_SetPythonHome"
   "Py_GetPythonHome"
+  "Py_Finalize"
+  "Py_IsInitialized"
+  "Py_EndInterpreter"
   "PyRun_AnyFile"
   "PyRun_AnyFileExFlags"
-  "PyRun_AnyFileFlags"
   "PyRun_AnyFileEx"
+  "PyRun_AnyFileFlags"
   "Py_FdIsInteractive"
   "PyRun_InteractiveLoopFlags"
-  "PyRun_SimpleFileExFlags"
-  "PyRun_InteractiveLoop"
-  "PyRun_InteractiveOneFlags"
-  "PyRun_InteractiveOne"
-  "PyRun_SimpleFile"
-  "PyRun_SimpleFileEx"
-  "PyRun_FileExFlags"
   "PyRun_SimpleString"
   "PyRun_SimpleStringFlags"
   "PyRun_StringFlags"
-  "PyErr_PrintEx"
-  "Py_Exit"
-  "PyErr_Display"
-  "PyRun_String"
+  "PyRun_SimpleFile"
+  "PyRun_SimpleFileEx"
+  "PyRun_InteractiveOne"
+  "PyRun_InteractiveLoop"
   "PyParser_SimpleParseString"
-  "PyRun_File"
-  "PyRun_FileEx"
   "PyParser_SimpleParseFile"
   "PyParser_SimpleParseStringFlags"
-  "PyRun_FileFlags"
+  "PyParser_SimpleParseStringFlagsFilename"
   "PyParser_SimpleParseFileFlags"
+  "PyRun_String"
+  "PyRun_File"
+  "PyRun_FileEx"
+  "PyRun_FileFlags"
   "Py_CompileString"
   "Py_CompileStringFlags"
-  "PyParser_SimpleParseStringFlagsFilename"
   "Py_SymtableString"
-  "PyParser_SimpleParseStringFilename"
   "Py_AtExit"
   "PyOS_getsig"
   "PyOS_setsig"
+  "PyParser_SetError"
+  "PyParser_SimpleParseStringFilename"
   "Py_UseClassExceptionsFlag"
   "Py_UnicodeFlag"
   "_Py_QnewFlag"
+  "PyModule_WarningsModule"
   "_PyThread_Started"
 
 ; From python23_s.lib(structmember)
   "PyMember_Get"
   "PyMember_GetOne"
-  "PyMember_Set"
   "PyMember_SetOne"
+  "PyMember_Set"
 
 ; From python23_s.lib(symtable)
   "PySymtableEntry_New"
   "PySymtableEntry_Type"
 
 ; From python23_s.lib(sysmodule)
-  "PySys_GetObject"
-  "PySys_GetFile"
-  "PySys_SetObject"
-  "PySys_ResetWarnOptions"
-  "PySys_AddWarnOption"
   "_PySys_Init"
   "PySys_SetPath"
   "PySys_SetArgv"
   "PySys_WriteStdout"
   "PySys_WriteStderr"
+  "PySys_GetObject"
+  "PySys_SetObject"
+  "PySys_GetFile"
+  "PySys_ResetWarnOptions"
+  "PySys_AddWarnOption"
 
 ; From python23_s.lib(traceback)
   "PyTraceBack_Here"
@@ -965,38 +984,44 @@
   "_PyImport_GetDynLoadFunc"
 
 ; From python23_s.lib(thread)
+  "PyThread_delete_key_value"
   "PyThread_init_thread"
   "PyThread_start_new_thread"
-  "PyThread_get_thread_ident"
   "PyThread_exit_thread"
-  "PyThread__exit_thread"
+  "PyThread_get_thread_ident"
   "PyThread_allocate_lock"
   "PyThread_free_lock"
   "PyThread_acquire_lock"
   "PyThread_release_lock"
+  "PyThread_create_key"
+  "PyThread_delete_key"
+  "PyThread_set_key_value"
+  "PyThread_get_key_value"
+  "PyThread__exit_thread"
 
 ; From python23_s.lib(gcmodule)
 ;  "initgc"
-  "_PyGC_Dump"
-  "PyObject_GC_Track"
-  "_PyObject_GC_Track"
-  "PyObject_GC_UnTrack"
-  "_PyObject_GC_UnTrack"
-  "_PyObject_GC_Malloc"
   "_PyObject_GC_New"
   "_PyObject_GC_NewVar"
+  "PyGC_Collect"
   "_PyObject_GC_Resize"
+  "_PyObject_GC_Malloc"
+  "PyObject_GC_Track"
+  "PyObject_GC_UnTrack"
   "PyObject_GC_Del"
+  "_PyGC_Dump"
+  "_PyObject_GC_Track"
+  "_PyObject_GC_UnTrack"
   "_PyObject_GC_Del"
   "_PyGC_generation0"
 
 ; From python23_s.lib(signalmodule)
-  "PyErr_CheckSignals"
 ;  "initsignal"
+  "PyErr_CheckSignals"
   "PyErr_SetInterrupt"
-  "PyOS_InitInterrupts"
   "PyOS_FiniInterrupts"
   "PyOS_InterruptOccurred"
+  "PyOS_InitInterrupts"
   "PyOS_AfterFork"
 
 ; From python23_s.lib(posixmodule)
@@ -1004,3 +1029,145 @@
 
 ; From python23_s.lib(threadmodule)
 ;  "initthread"
+
+; From python23_s.lib(arraymodule)
+;  "initarray"
+;  "array_methods"
+
+; From python23_s.lib(binascii)
+;  "initbinascii"
+
+; From python23_s.lib(cmathmodule)
+;  "initcmath"
+
+; From python23_s.lib(_codecsmodule)
+;  "init_codecs"
+
+; From python23_s.lib(cPickle)
+;  "initcPickle"
+;  "fast_save_leave"
+
+; From python23_s.lib(cStringIO)
+;  "initcStringIO"
+
+; From python23_s.lib(_csv)
+;  "init_csv"
+
+; From python23_s.lib(datetimemodule)
+;  "initdatetime"
+
+; From python23_s.lib(dlmodule)
+;  "initdl"
+
+; From python23_s.lib(errnomodule)
+;  "initerrno"
+
+; From python23_s.lib(fcntlmodule)
+;  "initfcntl"
+
+; From python23_s.lib(imageop)
+;  "initimageop"
+
+; From python23_s.lib(itertoolsmodule)
+;  "inititertools"
+;  "cycle_type"
+;  "dropwhile_type"
+;  "takewhile_type"
+;  "islice_type"
+;  "starmap_type"
+;  "imap_type"
+;  "chain_type"
+;  "ifilter_type"
+;  "ifilterfalse_type"
+;  "count_type"
+;  "izip_type"
+;  "repeat_type"
+
+; From python23_s.lib(_localemodule)
+;  "init_locale"
+
+; From python23_s.lib(mathmodule)
+;  "initmath"
+
+; From python23_s.lib(md5c)
+;  "_Py_MD5Final"
+;  "_Py_MD5Init"
+;  "_Py_MD5Update"
+
+; From python23_s.lib(md5module)
+;  "initmd5"
+
+; From python23_s.lib(operator)
+;  "initoperator"
+
+; From python23_s.lib(pcremodule)
+;  "initpcre"
+
+; From python23_s.lib(pypcre)
+;  "pcre_study"
+;  "pcre_compile"
+;  "pcre_exec"
+;  "pcre_info"
+;  "pcre_version"
+;  "pcre_lcc"
+;  "pcre_fcc"
+;  "pcre_cbits"
+;  "pcre_ctypes"
+;  "pcre_malloc"
+;  "pcre_free"
+
+; From python23_s.lib(_randommodule)
+;  "init_random"
+
+; From python23_s.lib(regexmodule)
+;  "initregex"
+
+; From python23_s.lib(regexpr)
+;  "_Py_re_syntax_table"
+;  "_Py_re_compile_initialize"
+;  "_Py_re_compile_pattern"
+;  "_Py_re_match"
+;  "_Py_re_search"
+;  "_Py_re_set_syntax"
+;  "_Py_re_compile_fastmap"
+;  "_Py_re_syntax"
+
+; From python23_s.lib(rgbimgmodule)
+;  "initrgbimg"
+
+; From python23_s.lib(shamodule)
+;  "initsha"
+
+; From python23_s.lib(_sre)
+;  "init_sre"
+
+; From python23_s.lib(stropmodule)
+;  "initstrop"
+
+; From python23_s.lib(structmodule)
+;  "initstruct"
+
+; From python23_s.lib(symtablemodule)
+;  "init_symtable"
+
+; From python23_s.lib(termios)
+;  "inittermios"
+
+; From python23_s.lib(timemodule)
+;  "inittime"
+;  "inittimezone"
+
+; From python23_s.lib(timingmodule)
+;  "inittiming"
+
+; From python23_s.lib(_weakref)
+;  "init_weakref"
+
+; From python23_s.lib(xreadlinesmodule)
+;  "initxreadlines"
+
+; From python23_s.lib(xxsubtype)
+;  "initxxsubtype"
+
+; From python23_s.lib(zipimport)
+;  "initzipimport"