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"