]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-36876: Minor cleanup to c-analyzer "ignored" data.' (gh-31239)
authorEric Snow <ericsnowcurrently@gmail.com>
Thu, 10 Feb 2022 00:10:53 +0000 (17:10 -0700)
committerGitHub <noreply@github.com>
Thu, 10 Feb 2022 00:10:53 +0000 (17:10 -0700)
https://bugs.python.org/issue36876

Tools/c-analyzer/cpython/globals-to-fix.tsv
Tools/c-analyzer/cpython/ignored.tsv
Tools/c-analyzer/table-file.py

index 544216ca0b68b31e35bc1a5eb02d03f589d9032a..56904814858313b790f3910e202032ca0234c867 100644 (file)
@@ -255,236 +255,7 @@ Objects/setobject.c       -       _PySet_Dummy    -
 Objects/sliceobject.c  -       _Py_EllipsisObject      -
 
 #-----------------------
-# cached PyUnicodeObject - initialized once
-
-# _Py_IDENTIFIER (global)
-Objects/bytesobject.c  -       PyId___bytes__  -
-Objects/classobject.c  -       PyId___name__   -
-Objects/classobject.c  -       PyId___qualname__       -
-Objects/descrobject.c  -       PyId_getattr    -
-Objects/fileobject.c   -       PyId_open       -
-Objects/frameobject.c  -       PyId___builtins__       -
-Objects/iterobject.c   -       PyId_iter       -
-Objects/longobject.c   -       PyId_big        -
-Objects/longobject.c   -       PyId_little     -
-Objects/moduleobject.c -       PyId___annotations__    -
-Objects/moduleobject.c -       PyId___dict__   -
-Objects/moduleobject.c -       PyId___dir__    -
-Objects/moduleobject.c -       PyId___doc__    -
-Objects/moduleobject.c -       PyId___name__   -
-Objects/moduleobject.c -       PyId___spec__   -
-Objects/object.c       -       PyId_Py_Repr    -
-Objects/object.c       -       PyId___bytes__  -
-Objects/object.c       -       PyId___dir__    -
-Objects/object.c       -       PyId___isabstractmethod__       -
-Objects/odictobject.c  -       PyId_items      -
-Objects/rangeobject.c  -       PyId_iter       -
-Objects/structseq.c    -       PyId_n_fields   -
-Objects/structseq.c    -       PyId_n_sequence_fields  -
-Objects/structseq.c    -       PyId_n_unnamed_fields   -
-Objects/typeobject.c   -       PyId___abstractmethods__        -
-Objects/typeobject.c   -       PyId___annotations__    -
-Objects/typeobject.c   -       PyId___class__  -
-Objects/typeobject.c   -       PyId___class_getitem__  -
-Objects/typeobject.c   -       PyId___classcell__      -
-Objects/typeobject.c   -       PyId___delitem__        -
-Objects/typeobject.c   -       PyId___dict__   -
-Objects/typeobject.c   -       PyId___doc__    -
-Objects/typeobject.c   -       PyId___getattribute__   -
-Objects/typeobject.c   -       PyId___getitem__        -
-Objects/typeobject.c   -       PyId___hash__   -
-Objects/typeobject.c   -       PyId___init_subclass__  -
-Objects/typeobject.c   -       PyId___len__    -
-Objects/typeobject.c   -       PyId___module__ -
-Objects/typeobject.c   -       PyId___name__   -
-Objects/typeobject.c   -       PyId___new__    -
-Objects/typeobject.c   -       PyId___qualname__       -
-Objects/typeobject.c   -       PyId___set_name__       -
-Objects/typeobject.c   -       PyId___setitem__        -
-Objects/typeobject.c   -       PyId___weakref__        -
-Objects/typeobject.c   -       PyId_builtins   -
-Objects/typeobject.c   -       PyId_mro        -
-
-# _Py_IDENTIFIER (local)
-Objects/abstract.c     PyIter_Send     PyId_send       -
-Objects/abstract.c     PyMapping_Items PyId_items      -
-Objects/abstract.c     PyMapping_Keys  PyId_keys       -
-Objects/abstract.c     PyMapping_Values        PyId_values     -
-Objects/abstract.c     PyNumber_Long   PyId___trunc__  -
-Objects/abstract.c     PyObject_Format PyId___format__ -
-Objects/abstract.c     PyObject_GetItem        PyId___class_getitem__  -
-Objects/abstract.c     PyObject_LengthHint     PyId___length_hint__    -
-Objects/abstract.c     abstract_get_bases      PyId___bases__  -
-Objects/abstract.c     object_isinstance       PyId___class__  -
-Objects/abstract.c     object_issubclass       PyId___subclasscheck__  -
-Objects/abstract.c     object_recursive_isinstance     PyId___instancecheck__  -
-Objects/bytearrayobject.c      _common_reduce  PyId___dict__   -
-Objects/bytearrayobject.c      bytearrayiter_reduce    PyId_iter       -
-Objects/bytesobject.c  striter_reduce  PyId_iter       -
-Objects/classobject.c  method_reduce   PyId_getattr    -
-Objects/complexobject.c        try_complex_special_method      PyId___complex__        -
-Objects/descrobject.c  calculate_qualname      PyId___qualname__       -
-Objects/descrobject.c  mappingproxy_copy       PyId_copy       -
-Objects/descrobject.c  mappingproxy_get        PyId_get        -
-Objects/descrobject.c  mappingproxy_items      PyId_items      -
-Objects/descrobject.c  mappingproxy_keys       PyId_keys       -
-Objects/descrobject.c  mappingproxy_reversed   PyId___reversed__       -
-Objects/descrobject.c  mappingproxy_values     PyId_values     -
-Objects/descrobject.c  property_init_impl      PyId___doc__    -
-Objects/dictobject.c   _PyDictView_Intersect   PyId_intersection       -
-Objects/dictobject.c   dict_subscript  PyId___missing__        -
-Objects/dictobject.c   dict_update_arg PyId_keys       -
-Objects/dictobject.c   dictitems_xor   PyId_items      -
-Objects/dictobject.c   dictiter_reduce PyId_iter       -
-Objects/dictobject.c   dictviews_sub   PyId_difference_update  -
-Objects/dictobject.c   dictviews_xor   PyId_symmetric_difference_update        -
-Objects/enumobject.c   reversed_new_impl       PyId___reversed__       -
-Objects/exceptions.c   ImportError_getstate    PyId_name       -
-Objects/exceptions.c   ImportError_getstate    PyId_path       -
-Objects/fileobject.c   PyFile_GetLine  PyId_readline   -
-Objects/fileobject.c   PyFile_WriteObject      PyId_write      -
-Objects/fileobject.c   PyObject_AsFileDescriptor       PyId_fileno     -
-Objects/funcobject.c   PyFunction_NewWithQualName      PyId___name__   -
-Objects/funcobject.c   functools_wraps PyId___annotations__    -
-Objects/funcobject.c   functools_wraps PyId___doc__    -
-Objects/funcobject.c   functools_wraps PyId___module__ -
-Objects/funcobject.c   functools_wraps PyId___name__   -
-Objects/funcobject.c   functools_wraps PyId___qualname__       -
-Objects/genericaliasobject.c   _Py_make_parameters     PyId___parameters__     -
-Objects/genericaliasobject.c   ga_repr_item    PyId___args__   -
-Objects/genericaliasobject.c   ga_repr_item    PyId___module__ -
-Objects/genericaliasobject.c   ga_repr_item    PyId___origin__ -
-Objects/genericaliasobject.c   ga_repr_item    PyId___qualname__       -
-Objects/genericaliasobject.c   make_parameters PyId___parameters__     -
-Objects/genericaliasobject.c   subs_tvars      PyId___parameters__     -
-Objects/genobject.c    PyIter_Send     PyId_send       -
-Objects/genobject.c    _gen_throw      PyId_throw      -
-Objects/genobject.c    gen_close_iter  PyId_close      -
-Objects/listobject.c   listiter_reduce_general PyId_iter       -
-Objects/listobject.c   listiter_reduce_general PyId_reversed   -
-Objects/methodobject.c meth_get__qualname__    PyId___qualname__       -
-Objects/methodobject.c meth_reduce     PyId_getattr    -
-Objects/moduleobject.c PyModule_GetFilenameObject      PyId___file__   -
-Objects/moduleobject.c _PyModuleSpec_IsInitializing    PyId__initializing      -
-Objects/moduleobject.c _PyModuleSpec_IsUninitializedSubmodule  PyId__uninitialized_submodules  -
-Objects/moduleobject.c module_dir      PyId___dict__   -
-Objects/moduleobject.c module_dir      PyId___dir__    -
-Objects/moduleobject.c module_getattro PyId___getattr__        -
-Objects/moduleobject.c module_init_dict        PyId___loader__ -
-Objects/moduleobject.c module_init_dict        PyId___package__        -
-Objects/object.c       _PyObject_FunctionStr   PyId___module__ -
-Objects/object.c       _PyObject_FunctionStr   PyId___qualname__       -
-Objects/object.c       _PyObject_FunctionStr   PyId_builtins   -
-Objects/object.c       set_attribute_error_context     PyId_name       -
-Objects/object.c       set_attribute_error_context     PyId_obj        -
-Objects/odictobject.c  mutablemapping_update_arg       PyId_keys       -
-Objects/odictobject.c  odict_reduce    PyId___dict__   -
-Objects/odictobject.c  odictiter_reduce        PyId_iter       -
-Objects/setobject.c    set_reduce      PyId___dict__   -
-Objects/setobject.c    setiter_reduce  PyId_iter       -
-Objects/tupleobject.c  tupleiter_reduce        PyId_iter       -
-Objects/typeobject.c   _PyObject_GetItemsIter  PyId_items      -
-Objects/typeobject.c   _PyObject_GetNewArguments       PyId___getnewargs__     -
-Objects/typeobject.c   _PyObject_GetNewArguments       PyId___getnewargs_ex__  -
-Objects/typeobject.c   _PyObject_GetState      PyId___getstate__       -
-Objects/typeobject.c   _PyType_GetSlotNames    PyId___slotnames__      -
-Objects/typeobject.c   _PyType_GetSlotNames    PyId__slotnames -
-Objects/typeobject.c   import_copyreg  PyId_copyreg    -
-Objects/typeobject.c   merge_class_dict        PyId___bases__  -
-Objects/typeobject.c   object___reduce_ex___impl       PyId___reduce__ -
-Objects/typeobject.c   overrides_hash  PyId___eq__     -
-Objects/typeobject.c   reduce_newobj   PyId___newobj__ -
-Objects/typeobject.c   reduce_newobj   PyId___newobj_ex__      -
-Objects/typeobject.c   slot_am_aiter   PyId___aiter__  -
-Objects/typeobject.c   slot_am_anext   PyId___anext__  -
-Objects/typeobject.c   slot_am_await   PyId___await__  -
-Objects/typeobject.c   slot_nb_bool    PyId___bool__   -
-Objects/typeobject.c   slot_nb_index   PyId___index__  -
-Objects/typeobject.c   slot_nb_inplace_power   PyId___ipow__   -
-Objects/typeobject.c   slot_nb_power   PyId___pow__    -
-Objects/typeobject.c   slot_sq_contains        PyId___contains__       -
-Objects/typeobject.c   slot_tp_call    PyId___call__   -
-Objects/typeobject.c   slot_tp_descr_get       PyId___get__    -
-Objects/typeobject.c   slot_tp_descr_set       PyId___delete__ -
-Objects/typeobject.c   slot_tp_descr_set       PyId___set__    -
-Objects/typeobject.c   slot_tp_finalize        PyId___del__    -
-Objects/typeobject.c   slot_tp_getattr_hook    PyId___getattr__        -
-Objects/typeobject.c   slot_tp_init    PyId___init__   -
-Objects/typeobject.c   slot_tp_iter    PyId___iter__   -
-Objects/typeobject.c   slot_tp_iternext        PyId___next__   -
-Objects/typeobject.c   slot_tp_repr    PyId___repr__   -
-Objects/typeobject.c   slot_tp_setattro        PyId___delattr__        -
-Objects/typeobject.c   slot_tp_setattro        PyId___setattr__        -
-Objects/typeobject.c   type_new        PyId___classcell__      -
-Objects/typeobject.c   type_new        PyId___mro_entries__    -
-Objects/typeobject.c   type_new        PyId___qualname__       -
-Objects/typeobject.c   type_new        PyId___slots__  -
-Objects/typeobject.c   type_new_get_bases      PyId___mro_entries__    -
-Objects/typeobject.c   type_new_get_slots      PyId___slots__  -
-Objects/unicodeobject.c        unicodeiter_reduce      PyId_iter       -
-Objects/unionobject.c  union_repr_item PyId___args__   -
-Objects/unionobject.c  union_repr_item PyId___module__ -
-Objects/unionobject.c  union_repr_item PyId___origin__ -
-Objects/unionobject.c  union_repr_item PyId___qualname__       -
-Objects/weakrefobject.c        proxy_bytes     PyId___bytes__  -
-Objects/weakrefobject.c        proxy_reversed  PyId___reversed__       -
-Objects/weakrefobject.c        weakref_repr    PyId___name__   -
-Parser/tokenizer.c     fp_setreadl     PyId_open       -
-Parser/tokenizer.c     fp_setreadl     PyId_readline   -
-
-# _Py_static_string
-Objects/typeobject.c   -       name_op -
-Objects/typeobject.c   object_new      comma_id        -
-Objects/typeobject.c   slot_mp_subscript       id      -
-Objects/typeobject.c   slot_nb_add     op_id   -
-Objects/typeobject.c   slot_nb_add     rop_id  -
-Objects/typeobject.c   slot_nb_subtract        op_id   -
-Objects/typeobject.c   slot_nb_subtract        rop_id  -
-Objects/typeobject.c   slot_nb_multiply        op_id   -
-Objects/typeobject.c   slot_nb_multiply        rop_id  -
-Objects/typeobject.c   slot_nb_matrix_multiply op_id   -
-Objects/typeobject.c   slot_nb_matrix_multiply rop_id  -
-Objects/typeobject.c   slot_nb_remainder       op_id   -
-Objects/typeobject.c   slot_nb_remainder       rop_id  -
-Objects/typeobject.c   slot_nb_divmod  op_id   -
-Objects/typeobject.c   slot_nb_divmod  rop_id  -
-Objects/typeobject.c   slot_nb_power_binary    op_id   -
-Objects/typeobject.c   slot_nb_power_binary    rop_id  -
-Objects/typeobject.c   slot_nb_negative        id      -
-Objects/typeobject.c   slot_nb_positive        id      -
-Objects/typeobject.c   slot_nb_absolute        id      -
-Objects/typeobject.c   slot_nb_invert  id      -
-Objects/typeobject.c   slot_nb_lshift  op_id   -
-Objects/typeobject.c   slot_nb_lshift  rop_id  -
-Objects/typeobject.c   slot_nb_rshift  op_id   -
-Objects/typeobject.c   slot_nb_rshift  rop_id  -
-Objects/typeobject.c   slot_nb_and     op_id   -
-Objects/typeobject.c   slot_nb_and     rop_id  -
-Objects/typeobject.c   slot_nb_xor     op_id   -
-Objects/typeobject.c   slot_nb_xor     rop_id  -
-Objects/typeobject.c   slot_nb_or      op_id   -
-Objects/typeobject.c   slot_nb_or      rop_id  -
-Objects/typeobject.c   slot_nb_int     id      -
-Objects/typeobject.c   slot_nb_float   id      -
-Objects/typeobject.c   slot_nb_inplace_add     id      -
-Objects/typeobject.c   slot_nb_inplace_subtract        id      -
-Objects/typeobject.c   slot_nb_inplace_multiply        id      -
-Objects/typeobject.c   slot_nb_inplace_matrix_multiply id      -
-Objects/typeobject.c   slot_nb_inplace_remainder       id      -
-Objects/typeobject.c   slot_nb_inplace_lshift  id      -
-Objects/typeobject.c   slot_nb_inplace_rshift  id      -
-Objects/typeobject.c   slot_nb_inplace_and     id      -
-Objects/typeobject.c   slot_nb_inplace_xor     id      -
-Objects/typeobject.c   slot_nb_inplace_or      id      -
-Objects/typeobject.c   slot_nb_floor_divide    op_id   -
-Objects/typeobject.c   slot_nb_floor_divide    rop_id  -
-Objects/typeobject.c   slot_nb_true_divide     op_id   -
-Objects/typeobject.c   slot_nb_true_divide     rop_id  -
-Objects/typeobject.c   slot_nb_inplace_floor_divide    id      -
-Objects/typeobject.c   slot_nb_inplace_true_divide     id      -
-Objects/typeobject.c   slot_tp_str     id      -
-Python/compile.c       compiler_set_qualname   dot     -
-Python/compile.c       compiler_set_qualname   dot_locals      -
+# cached - initialized once
 
 # manually cached PyUnicodeObject
 Objects/boolobject.c   -       false_str       -
@@ -540,9 +311,7 @@ Python/sysmodule.c  -       whatstrings     -
 # XXX This should have been found by the analyzer but wasn't:
 Python/sysmodule.c     sys_displayhook newline -
 
-#-----------------------
 # _PyArg_Parser
-
 Objects/clinic/bytearrayobject.c.h     bytearray___init__      _parser -
 Objects/clinic/bytearrayobject.c.h     bytearray_decode        _parser -
 Objects/clinic/bytearrayobject.c.h     bytearray_hex   _parser -
@@ -598,15 +367,16 @@ Python/clinic/sysmodule.c.h       sys_addaudithook        _parser -
 Python/clinic/sysmodule.c.h    sys_set_coroutine_origin_tracking_depth _parser -
 Python/clinic/traceback.c.h    tb_new  _parser -
 
-#-----------------------
 # other
-
-# cache - initialized once
+Objects/typeobject.c   -       method_cache    -
+Objects/unicodeobject.c        -       _string_module  -
 Objects/unicodeobject.c        -       interned        -
 Objects/unicodeobject.c        -       static_strings  -
-Objects/typeobject.c   -       method_cache    -
 
-# non-cache - initialized once
+#-----------------------
+# other
+
+# initialized once
 Objects/exceptions.c   -       PyExc_BaseExceptionGroup        -
 Objects/exceptions.c   -       PyExc_EncodingWarning   -
 # XXX This should have been found by the analyzer but wasn't:
@@ -632,6 +402,9 @@ Python/import.c     -       extensions      -
 #-----------------------
 # initialized once
 
+# pre-allocated buffer
+Modules/getbuildinfo.c Py_GetBuildInfo buildinfo       -
+
 # during init
 Parser/parser.c        -       Py_DebugFlag    -
 
@@ -678,7 +451,6 @@ Parser/myreadline.c -       PyOS_InputHook  -
 Parser/myreadline.c    -       PyOS_ReadlineFunctionPointer    -
 
 # other
-Modules/signalmodule.c -       signal_global_state     -
 Objects/dictobject.c   -       _pydict_global_version  -
 Objects/dictobject.c   -       next_dict_keys_version  -
 Objects/dictobject.c   -       pydict_global_version   -
@@ -715,18 +487,254 @@ Python/pylifecycle.c     fatal_error     reentrant       -
 
 
 ##################################
-# global objects to fix in extension modules
+# global objects to fix in builtin modules
 
 #-----------------------
 # modules
 
 Modules/_abc.c -       _abcmodule      -
+Modules/_codecsmodule.c        -       codecsmodule    -
+Modules/_collectionsmodule.c   -       _collectionsmodule      -
+Modules/_functoolsmodule.c     -       _functools_module       -
+Modules/_io/_iomodule.c        -       _PyIO_Module    -
+Modules/_io/_iomodule.h        -       _PyIO_Module    -
+Modules/_localemodule.c        -       _localemodule   -
+Modules/_sre.c -       sremodule       -
+Modules/_stat.c        -       statmodule      -
+Modules/_threadmodule.c        -       threadmodule    -
+Modules/_tracemalloc.c -       module_def      -
+Modules/_weakref.c     -       weakrefmodule   -
+Modules/atexitmodule.c -       atexitmodule    -
+Modules/errnomodule.c  -       errnomodule     -
+Modules/faulthandler.c -       module_def      -
+Modules/gcmodule.c     -       gcmodule        -
+Modules/itertoolsmodule.c      -       itertoolsmodule -
+Modules/posixmodule.c  -       posixmodule     -
+Modules/pwdmodule.c    -       pwdmodule       -
+Modules/signalmodule.c -       signalmodule    -
+Modules/symtablemodule.c       -       symtablemodule  -
+Modules/timemodule.c   -       timemodule      -
+
+#-----------------------
+# static types
+
+Modules/_collectionsmodule.c   -       defdict_type    -
+Modules/_collectionsmodule.c   -       deque_type      -
+Modules/_collectionsmodule.c   -       dequeiter_type  -
+Modules/_collectionsmodule.c   -       dequereviter_type       -
+Modules/_collectionsmodule.c   -       tuplegetter_type        -
+Modules/_functoolsmodule.c     -       keyobject_type  -
+Modules/_functoolsmodule.c     -       lru_cache_type  -
+Modules/_functoolsmodule.c     -       lru_list_elem_type      -
+Modules/_functoolsmodule.c     -       partial_type    -
+Modules/_io/bufferedio.c       -       PyBufferedIOBase_Type   -
+Modules/_io/bufferedio.c       -       PyBufferedRWPair_Type   -
+Modules/_io/bufferedio.c       -       PyBufferedRandom_Type   -
+Modules/_io/bufferedio.c       -       PyBufferedReader_Type   -
+Modules/_io/bufferedio.c       -       PyBufferedWriter_Type   -
+Modules/_io/bytesio.c  -       PyBytesIO_Type  -
+Modules/_io/bytesio.c  -       _PyBytesIOBuffer_Type   -
+Modules/_io/fileio.c   -       PyFileIO_Type   -
+Modules/_io/iobase.c   -       PyIOBase_Type   -
+Modules/_io/iobase.c   -       PyRawIOBase_Type        -
+Modules/_io/stringio.c -       PyStringIO_Type -
+Modules/_io/textio.c   -       PyIncrementalNewlineDecoder_Type        -
+Modules/_io/textio.c   -       PyTextIOBase_Type       -
+Modules/_io/textio.c   -       PyTextIOWrapper_Type    -
+Modules/_io/winconsoleio.c     -       PyWindowsConsoleIO_Type -
+Modules/_threadmodule.c        -       Locktype        -
+Modules/_threadmodule.c        -       RLocktype       -
+Modules/_threadmodule.c        -       localdummytype  -
+Modules/_threadmodule.c        -       localtype       -
+Modules/itertoolsmodule.c      -       _grouper_type   -
+Modules/itertoolsmodule.c      -       accumulate_type -
+Modules/itertoolsmodule.c      -       chain_type      -
+Modules/itertoolsmodule.c      -       combinations_type       -
+Modules/itertoolsmodule.c      -       compress_type   -
+Modules/itertoolsmodule.c      -       count_type      -
+Modules/itertoolsmodule.c      -       cwr_type        -
+Modules/itertoolsmodule.c      -       cycle_type      -
+Modules/itertoolsmodule.c      -       dropwhile_type  -
+Modules/itertoolsmodule.c      -       filterfalse_type        -
+Modules/itertoolsmodule.c      -       groupby_type    -
+Modules/itertoolsmodule.c      -       islice_type     -
+Modules/itertoolsmodule.c      -       pairwise_type   -
+Modules/itertoolsmodule.c      -       permutations_type       -
+Modules/itertoolsmodule.c      -       product_type    -
+Modules/itertoolsmodule.c      -       repeat_type     -
+Modules/itertoolsmodule.c      -       starmap_type    -
+Modules/itertoolsmodule.c      -       takewhile_type  -
+Modules/itertoolsmodule.c      -       tee_type        -
+Modules/itertoolsmodule.c      -       teedataobject_type      -
+Modules/itertoolsmodule.c      -       ziplongest_type -
+
+#-----------------------
+# non-static types - initialized once
+
+# structseq types
+Modules/_threadmodule.c        -       ExceptHookArgsType      -
+Modules/signalmodule.c -       SiginfoType     -
+Modules/timemodule.c   -       StructTimeType  -
+
+# exception types
+Modules/_threadmodule.c        -       ThreadError     -
+Modules/signalmodule.c -       ItimerError     -
+
+#-----------------------
+# cached - initialized once
+
+# manually cached PyUnicodeOjbect
+Modules/_io/_iomodule.c        -       _PyIO_str_close -
+Modules/_io/_iomodule.c        -       _PyIO_str_closed        -
+Modules/_io/_iomodule.c        -       _PyIO_str_decode        -
+Modules/_io/_iomodule.c        -       _PyIO_str_encode        -
+Modules/_io/_iomodule.c        -       _PyIO_str_fileno        -
+Modules/_io/_iomodule.c        -       _PyIO_str_flush -
+Modules/_io/_iomodule.c        -       _PyIO_str_getstate      -
+Modules/_io/_iomodule.c        -       _PyIO_str_isatty        -
+Modules/_io/_iomodule.c        -       _PyIO_str_locale        -
+Modules/_io/_iomodule.c        -       _PyIO_str_newlines      -
+Modules/_io/_iomodule.c        -       _PyIO_str_nl    -
+Modules/_io/_iomodule.c        -       _PyIO_str_peek  -
+Modules/_io/_iomodule.c        -       _PyIO_str_read  -
+Modules/_io/_iomodule.c        -       _PyIO_str_read1 -
+Modules/_io/_iomodule.c        -       _PyIO_str_readable      -
+Modules/_io/_iomodule.c        -       _PyIO_str_readall       -
+Modules/_io/_iomodule.c        -       _PyIO_str_readinto      -
+Modules/_io/_iomodule.c        -       _PyIO_str_readline      -
+Modules/_io/_iomodule.c        -       _PyIO_str_reset -
+Modules/_io/_iomodule.c        -       _PyIO_str_seek  -
+Modules/_io/_iomodule.c        -       _PyIO_str_seekable      -
+Modules/_io/_iomodule.c        -       _PyIO_str_setstate      -
+Modules/_io/_iomodule.c        -       _PyIO_str_tell  -
+Modules/_io/_iomodule.c        -       _PyIO_str_truncate      -
+Modules/_io/_iomodule.c        -       _PyIO_str_writable      -
+Modules/_io/_iomodule.c        -       _PyIO_str_write -
+Modules/_io/_iomodule.c        -       _PyIO_empty_str -
+Modules/_threadmodule.c        -       str_dict        -
+Modules/_tracemalloc.c -       unknown_filename        -
+
+# _PyArg_Parser
+Modules/clinic/_codecsmodule.c.h       _codecs_decode  _parser -
+Modules/clinic/_codecsmodule.c.h       _codecs_encode  _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Match_expand   _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Match_groupdict        _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Match_groups   _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_findall        _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_finditer       _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_fullmatch      _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_match  _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_scanner        _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_search _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_split  _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_sub    _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Pattern_subn   _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Scanner_match  _parser -
+Modules/clinic/_sre.c.h        _sre_SRE_Scanner_search _parser -
+Modules/clinic/_sre.c.h        _sre_compile    _parser -
+Modules/clinic/gcmodule.c.h    gc_collect      _parser -
+Modules/clinic/gcmodule.c.h    gc_get_objects  _parser -
+Modules/clinic/itertoolsmodule.c.h     itertools_accumulate    _parser -
+Modules/clinic/itertoolsmodule.c.h     itertools_combinations  _parser -
+Modules/clinic/itertoolsmodule.c.h     itertools_combinations_with_replacement _parser -
+Modules/clinic/itertoolsmodule.c.h     itertools_compress      _parser -
+Modules/clinic/itertoolsmodule.c.h     itertools_count _parser -
+Modules/clinic/itertoolsmodule.c.h     itertools_groupby       _parser -
+Modules/clinic/itertoolsmodule.c.h     itertools_permutations  _parser -
+Modules/clinic/posixmodule.c.h os_DirEntry_is_dir      _parser -
+Modules/clinic/posixmodule.c.h os_DirEntry_is_file     _parser -
+Modules/clinic/posixmodule.c.h os_DirEntry_is_symlink  _parser -
+Modules/clinic/posixmodule.c.h os_DirEntry_stat        _parser -
+Modules/clinic/posixmodule.c.h os__exit        _parser -
+Modules/clinic/posixmodule.c.h os__path_normpath       _parser -
+Modules/clinic/posixmodule.c.h os_access       _parser -
+Modules/clinic/posixmodule.c.h os_chdir        _parser -
+Modules/clinic/posixmodule.c.h os_chmod        _parser -
+Modules/clinic/posixmodule.c.h os_close        _parser -
+Modules/clinic/posixmodule.c.h os_device_encoding      _parser -
+Modules/clinic/posixmodule.c.h os_dup2 _parser -
+Modules/clinic/posixmodule.c.h os_fspath       _parser -
+Modules/clinic/posixmodule.c.h os_fstat        _parser -
+Modules/clinic/posixmodule.c.h os_listdir      _parser -
+Modules/clinic/posixmodule.c.h os_lstat        _parser -
+Modules/clinic/posixmodule.c.h os_mkdir        _parser -
+Modules/clinic/posixmodule.c.h os_open _parser -
+Modules/clinic/posixmodule.c.h os_remove       _parser -
+Modules/clinic/posixmodule.c.h os_rename       _parser -
+Modules/clinic/posixmodule.c.h os_replace      _parser -
+Modules/clinic/posixmodule.c.h os_rmdir        _parser -
+Modules/clinic/posixmodule.c.h os_scandir      _parser -
+Modules/clinic/posixmodule.c.h os_stat _parser -
+Modules/clinic/posixmodule.c.h os_unlink       _parser -
+Modules/clinic/posixmodule.c.h os_utime        _parser -
+
+#-----------------------
+# other
+
+# initialized once
+Modules/_functoolsmodule.c     -       kwd_mark        -
+Modules/_io/_iomodule.c        -       _PyIO_empty_bytes       -
+Modules/_tracemalloc.c -       tracemalloc_empty_traceback     -
+Modules/signalmodule.c -       DefaultHandler  -
+Modules/signalmodule.c -       IgnoreHandler   -
+Modules/signalmodule.c -       IntHandler      -
+
+# state
+Modules/faulthandler.c -       fatal_error     -
+Modules/faulthandler.c -       thread  -
+Modules/faulthandler.c -       user_signals    -
+Modules/faulthandler.c -       stack   -
+Modules/faulthandler.c -       old_stack       -
+Modules/signalmodule.c -       Handlers        -
+
+
+##################################
+# global non-objects to fix in builtin modules
+
+#-----------------------
+# initialized once
+
+Modules/_io/bufferedio.c       _PyIO_trap_eintr        eintr_int       -
+#Modules/cjkcodecs/cjkcodecs.h -       codec_list      -
+#Modules/cjkcodecs/cjkcodecs.h -       mapping_list    -
+Modules/posixmodule.c  os_dup2_impl    dup3_works      -
+Modules/posixmodule.c  -       structseq_new   -
+Modules/posixmodule.c  -       ticks_per_second        -
+Modules/signalmodule.c -       initialized     -
+Modules/timemodule.c   -       initialized     -
+Modules/timemodule.c   _PyTime_GetClockWithInfo        initialized     -
+Modules/timemodule.c   _PyTime_GetProcessTimeWithInfo  ticks_per_second        -
+
+#-----------------------
+# state
+
+Modules/_tracemalloc.c -       allocators      -
+Modules/_tracemalloc.c -       tables_lock     -
+Modules/_tracemalloc.c -       tracemalloc_traced_memory       -
+Modules/_tracemalloc.c -       tracemalloc_peak_traced_memory  -
+Modules/_tracemalloc.c -       tracemalloc_filenames   -
+Modules/_tracemalloc.c -       tracemalloc_traceback   -
+Modules/_tracemalloc.c -       tracemalloc_tracebacks  -
+Modules/_tracemalloc.c -       tracemalloc_traces      -
+Modules/_tracemalloc.c -       tracemalloc_domains     -
+Modules/_tracemalloc.c -       tracemalloc_reentrant_key       -
+Modules/faulthandler.c faulthandler_dump_traceback     reentrant       -
+Modules/posixmodule.c  -       environ -
+Modules/signalmodule.c -       is_tripped      -
+Modules/signalmodule.c -       signal_global_state     -
+Modules/signalmodule.c -       wakeup  -
+
+
+##################################
+# global objects to fix in extension modules
+
+#-----------------------
+# modules
+
 Modules/_asynciomodule.c       -       _asynciomodule  -
 Modules/_bisectmodule.c        -       _bisectmodule   -
 Modules/_blake2/blake2module.c -       blake2_module   -
 Modules/_bz2module.c   -       _bz2module      -
-Modules/_codecsmodule.c        -       codecsmodule    -
-Modules/_collectionsmodule.c   -       _collectionsmodule      -
 Modules/_contextvarsmodule.c   -       _contextvarsmodule      -
 Modules/_cryptmodule.c -       cryptmodule     -
 Modules/_csv.c -       _csvmodule      -
@@ -736,14 +744,10 @@ Modules/_cursesmodule.c   -       _cursesmodule   -
 Modules/_datetimemodule.c      -       datetimemodule  -
 Modules/_decimal/_decimal.c    -       _decimal_module -
 Modules/_elementtree.c -       elementtreemodule       -
-Modules/_functoolsmodule.c     -       _functools_module       -
 Modules/_gdbmmodule.c  -       _gdbmmodule     -
 Modules/_hashopenssl.c -       _hashlibmodule  -
 Modules/_heapqmodule.c -       _heapqmodule    -
-Modules/_io/_iomodule.c        -       _PyIO_Module    -
-Modules/_io/_iomodule.h        -       _PyIO_Module    -
 Modules/_json.c        -       jsonmodule      -
-Modules/_localemodule.c        -       _localemodule   -
 Modules/_lsprof.c      -       _lsprofmodule   -
 Modules/_lzmamodule.c  -       _lzmamodule     -
 Modules/_multiprocessing/multiprocessing.c     -       multiprocessing_module  -
@@ -756,38 +760,26 @@ Modules/_queuemodule.c    -       queuemodule     -
 Modules/_randommodule.c        -       _randommodule   -
 Modules/_sha3/sha3module.c     -       _sha3module     -
 Modules/_sqlite/module.c       -       _sqlite3module  -
-Modules/_sre.c -       sremodule       -
 Modules/_ssl.c -       PySocketModule  -
 Modules/_ssl.c -       _sslmodule      -
-Modules/_stat.c        -       statmodule      -
 Modules/_statisticsmodule.c    -       statisticsmodule        -
 Modules/_struct.c      -       _structmodule   -
-Modules/_threadmodule.c        -       threadmodule    -
 Modules/_tkinter.c     -       _tkintermodule  -
-Modules/_tracemalloc.c -       module_def      -
 Modules/_uuidmodule.c  -       uuidmodule      -
-Modules/_weakref.c     -       weakrefmodule   -
 Modules/_xxsubinterpretersmodule.c     -       interpretersmodule      -
 Modules/_zoneinfo.c    -       zoneinfomodule  -
 Modules/arraymodule.c  -       arraymodule     -
-Modules/atexitmodule.c -       atexitmodule    -
 Modules/audioop.c      -       audioopmodule   -
 Modules/binascii.c     -       binasciimodule  -
 Modules/cjkcodecs/multibytecodec.c     -       _multibytecodecmodule   -
 Modules/cmathmodule.c  -       cmathmodule     -
-Modules/errnomodule.c  -       errnomodule     -
-Modules/faulthandler.c -       module_def      -
 Modules/fcntlmodule.c  -       fcntlmodule     -
-Modules/gcmodule.c     -       gcmodule        -
 Modules/grpmodule.c    -       grpmodule       -
-Modules/itertoolsmodule.c      -       itertoolsmodule -
 Modules/mathmodule.c   -       mathmodule      -
 Modules/md5module.c    -       _md5module      -
 Modules/mmapmodule.c   -       mmapmodule      -
 Modules/nismodule.c    -       nismodule       -
 Modules/ossaudiodev.c  -       ossaudiodevmodule       -
-Modules/posixmodule.c  -       posixmodule     -
-Modules/pwdmodule.c    -       pwdmodule       -
 Modules/pyexpat.c      -       pyexpatmodule   -
 Modules/readline.c     -       readlinemodule  -
 Modules/resource.c     -       resourcemodule  -
@@ -795,19 +787,15 @@ Modules/selectmodule.c    -       selectmodule    -
 Modules/sha1module.c   -       _sha1module     -
 Modules/sha256module.c -       _sha256module   -
 Modules/sha512module.c -       _sha512module   -
-Modules/signalmodule.c -       signalmodule    -
 Modules/socketmodule.c -       socketmodule    -
 Modules/spwdmodule.c   -       spwdmodule      -
-Modules/symtablemodule.c       -       symtablemodule  -
 Modules/syslogmodule.c -       syslogmodule    -
 Modules/termios.c      -       termiosmodule   -
-Modules/timemodule.c   -       timemodule      -
 Modules/unicodedata.c  -       unicodedata_module      -
 Modules/xxlimited.c    -       xxmodule        -
 Modules/xxmodule.c     -       xxmodule        -
 Modules/xxsubtype.c    -       xxsubtypemodule -
 Modules/zlibmodule.c   -       zlibmodule      -
-Objects/unicodeobject.c        -       _string_module  -
 
 #-----------------------
 # static types
@@ -817,11 +805,6 @@ Modules/_asynciomodule.c   -       FutureType      -
 Modules/_asynciomodule.c       -       PyRunningLoopHolder_Type        -
 Modules/_asynciomodule.c       -       TaskStepMethWrapper_Type        -
 Modules/_asynciomodule.c       -       TaskType        -
-Modules/_collectionsmodule.c   -       defdict_type    -
-Modules/_collectionsmodule.c   -       deque_type      -
-Modules/_collectionsmodule.c   -       dequeiter_type  -
-Modules/_collectionsmodule.c   -       dequereviter_type       -
-Modules/_collectionsmodule.c   -       tuplegetter_type        -
 Modules/_csv.c -       Dialect_Type    -
 Modules/_csv.c -       Reader_Type     -
 Modules/_csv.c -       Writer_Type     -
@@ -861,25 +844,6 @@ Modules/_elementtree.c     -       ElementIter_Type        -
 Modules/_elementtree.c -       Element_Type    -
 Modules/_elementtree.c -       TreeBuilder_Type        -
 Modules/_elementtree.c -       XMLParser_Type  -
-Modules/_functoolsmodule.c     -       keyobject_type  -
-Modules/_functoolsmodule.c     -       lru_cache_type  -
-Modules/_functoolsmodule.c     -       lru_list_elem_type      -
-Modules/_functoolsmodule.c     -       partial_type    -
-Modules/_io/bufferedio.c       -       PyBufferedIOBase_Type   -
-Modules/_io/bufferedio.c       -       PyBufferedRWPair_Type   -
-Modules/_io/bufferedio.c       -       PyBufferedRandom_Type   -
-Modules/_io/bufferedio.c       -       PyBufferedReader_Type   -
-Modules/_io/bufferedio.c       -       PyBufferedWriter_Type   -
-Modules/_io/bytesio.c  -       PyBytesIO_Type  -
-Modules/_io/bytesio.c  -       _PyBytesIOBuffer_Type   -
-Modules/_io/fileio.c   -       PyFileIO_Type   -
-Modules/_io/iobase.c   -       PyIOBase_Type   -
-Modules/_io/iobase.c   -       PyRawIOBase_Type        -
-Modules/_io/stringio.c -       PyStringIO_Type -
-Modules/_io/textio.c   -       PyIncrementalNewlineDecoder_Type        -
-Modules/_io/textio.c   -       PyTextIOBase_Type       -
-Modules/_io/textio.c   -       PyTextIOWrapper_Type    -
-Modules/_io/winconsoleio.c     -       PyWindowsConsoleIO_Type -
 Modules/_multiprocessing/semaphore.c   -       _PyMp_SemLockType       -
 Modules/_pickle.c      -       Pdata_Type      -
 Modules/_pickle.c      -       PicklerMemoProxyType    -
@@ -894,10 +858,6 @@ Modules/_ssl.c     -       PySSLContext_Type       -
 Modules/_ssl.c -       PySSLMemoryBIO_Type     -
 Modules/_ssl.c -       PySSLSession_Type       -
 Modules/_ssl.c -       PySSLSocket_Type        -
-Modules/_threadmodule.c        -       Locktype        -
-Modules/_threadmodule.c        -       RLocktype       -
-Modules/_threadmodule.c        -       localdummytype  -
-Modules/_threadmodule.c        -       localtype       -
 Modules/_xxsubinterpretersmodule.c     -       ChannelIDtype   -
 Modules/_zoneinfo.c    -       PyZoneInfo_ZoneInfoType -
 Modules/arraymodule.c  -       Arraytype       -
@@ -907,27 +867,6 @@ Modules/cjkcodecs/multibytecodec.c -       MultibyteIncrementalDecoder_Type        -
 Modules/cjkcodecs/multibytecodec.c     -       MultibyteIncrementalEncoder_Type        -
 Modules/cjkcodecs/multibytecodec.c     -       MultibyteStreamReader_Type      -
 Modules/cjkcodecs/multibytecodec.c     -       MultibyteStreamWriter_Type      -
-Modules/itertoolsmodule.c      -       _grouper_type   -
-Modules/itertoolsmodule.c      -       accumulate_type -
-Modules/itertoolsmodule.c      -       chain_type      -
-Modules/itertoolsmodule.c      -       combinations_type       -
-Modules/itertoolsmodule.c      -       compress_type   -
-Modules/itertoolsmodule.c      -       count_type      -
-Modules/itertoolsmodule.c      -       cwr_type        -
-Modules/itertoolsmodule.c      -       cycle_type      -
-Modules/itertoolsmodule.c      -       dropwhile_type  -
-Modules/itertoolsmodule.c      -       filterfalse_type        -
-Modules/itertoolsmodule.c      -       groupby_type    -
-Modules/itertoolsmodule.c      -       islice_type     -
-Modules/itertoolsmodule.c      -       pairwise_type   -
-Modules/itertoolsmodule.c      -       permutations_type       -
-Modules/itertoolsmodule.c      -       product_type    -
-Modules/itertoolsmodule.c      -       repeat_type     -
-Modules/itertoolsmodule.c      -       starmap_type    -
-Modules/itertoolsmodule.c      -       takewhile_type  -
-Modules/itertoolsmodule.c      -       tee_type        -
-Modules/itertoolsmodule.c      -       teedataobject_type      -
-Modules/itertoolsmodule.c      -       ziplongest_type -
 Modules/mmapmodule.c   -       mmap_object_type        -
 Modules/ossaudiodev.c  -       OSSAudioType    -
 Modules/ossaudiodev.c  -       OSSMixerType    -
@@ -945,11 +884,8 @@ Modules/xxsubtype.c        -       spamlist_type   -
 
 # structseq types
 Modules/_cursesmodule.c        -       NcursesVersionType      -
-Modules/_threadmodule.c        -       ExceptHookArgsType      -
 Modules/resource.c     -       StructRUsageType        -
-Modules/signalmodule.c -       SiginfoType     -
 Modules/spwdmodule.c   -       StructSpwdType  -
-Modules/timemodule.c   -       StructTimeType  -
 
 # heap types
 Modules/_decimal/_decimal.c    -       DecimalTuple    -
@@ -971,7 +907,6 @@ Modules/_ssl.c      -       PySSLWantReadErrorObject        -
 Modules/_ssl.c -       PySSLWantWriteErrorObject       -
 Modules/_ssl.c -       PySSLSyscallErrorObject -
 Modules/_ssl.c -       PySSLEOFErrorObject     -
-Modules/_threadmodule.c        -       ThreadError     -
 Modules/_tkinter.c     -       Tkinter_TclError        -
 Modules/_xxsubinterpretersmodule.c     -       ChannelError    -
 Modules/_xxsubinterpretersmodule.c     -       ChannelNotFoundError    -
@@ -981,7 +916,6 @@ Modules/_xxsubinterpretersmodule.c  -       ChannelNotEmptyError    -
 Modules/_xxsubinterpretersmodule.c     -       RunFailedError  -
 Modules/ossaudiodev.c  -       OSSAudioError   -
 Modules/pyexpat.c      -       ErrorObject     -
-Modules/signalmodule.c -       ItimerError     -
 Modules/socketmodule.c -       socket_herror   -
 Modules/socketmodule.c -       socket_gaierror -
 Modules/socketmodule.c -       socket_timeout  -
@@ -989,17 +923,9 @@ Modules/xxlimited.c        -       ErrorObject     -
 Modules/xxmodule.c     -       ErrorObject     -
 
 #-----------------------
-# cached PyUnicodeObject - initialized once
+# cached - initialized once
 
 # _Py_IDENTIFIER (global)
-Modules/_abc.c -       PyId___abc_tpflags__    -
-Modules/_abc.c -       PyId___abstractmethods__        -
-Modules/_abc.c -       PyId___bases__  -
-Modules/_abc.c -       PyId___class__  -
-Modules/_abc.c -       PyId___dict__   -
-Modules/_abc.c -       PyId___subclasscheck__  -
-Modules/_abc.c -       PyId___subclasshook__   -
-Modules/_abc.c -       PyId__abc_impl  -
 Modules/_asynciomodule.c       -       PyId___asyncio_running_event_loop__     -
 Modules/_asynciomodule.c       -       PyId__asyncio_future_blocking   -
 Modules/_asynciomodule.c       -       PyId_add_done_callback  -
@@ -1012,53 +938,8 @@ Modules/_datetimemodule.c -       PyId_as_integer_ratio   -
 Modules/_datetimemodule.c      -       PyId_fromutc    -
 Modules/_datetimemodule.c      -       PyId_isoformat  -
 Modules/_datetimemodule.c      -       PyId_strftime   -
-Modules/_io/bufferedio.c       -       PyId__dealloc_warn      -
-Modules/_io/bufferedio.c       -       PyId_close      -
-Modules/_io/bufferedio.c       -       PyId_flush      -
-Modules/_io/bufferedio.c       -       PyId_isatty     -
-Modules/_io/bufferedio.c       -       PyId_mode       -
-Modules/_io/bufferedio.c       -       PyId_name       -
-Modules/_io/bufferedio.c       -       PyId_peek       -
-Modules/_io/bufferedio.c       -       PyId_read       -
-Modules/_io/bufferedio.c       -       PyId_read1      -
-Modules/_io/bufferedio.c       -       PyId_readable   -
-Modules/_io/bufferedio.c       -       PyId_readinto   -
-Modules/_io/bufferedio.c       -       PyId_readinto1  -
-Modules/_io/bufferedio.c       -       PyId_writable   -
-Modules/_io/bufferedio.c       -       PyId_write      -
-Modules/_io/fileio.c   -       PyId_name       -
-Modules/_io/iobase.c   -       PyId___IOBase_closed    -
-Modules/_io/iobase.c   -       PyId_read       -
-Modules/_io/textio.c   -       PyId__dealloc_warn      -
-Modules/_io/textio.c   -       PyId_close      -
-Modules/_io/textio.c   -       PyId_decode     -
-Modules/_io/textio.c   -       PyId_fileno     -
-Modules/_io/textio.c   -       PyId_flush      -
-Modules/_io/textio.c   -       PyId_getpreferredencoding       -
-Modules/_io/textio.c   -       PyId_isatty     -
-Modules/_io/textio.c   -       PyId_mode       -
-Modules/_io/textio.c   -       PyId_name       -
-Modules/_io/textio.c   -       PyId_raw        -
-Modules/_io/textio.c   -       PyId_read       -
-Modules/_io/textio.c   -       PyId_readable   -
-Modules/_io/textio.c   -       PyId_replace    -
-Modules/_io/textio.c   -       PyId_reset      -
-Modules/_io/textio.c   -       PyId_seek       -
-Modules/_io/textio.c   -       PyId_seekable   -
-Modules/_io/textio.c   -       PyId_setstate   -
-Modules/_io/textio.c   -       PyId_strict     -
-Modules/_io/textio.c   -       PyId_tell       -
-Modules/_io/textio.c   -       PyId_writable   -
 Modules/_sqlite/connection.c   -       PyId_cursor     -
-Modules/_threadmodule.c        -       PyId___dict__   -
-Modules/_threadmodule.c        -       PyId_flush      -
-Modules/_threadmodule.c        -       PyId_stderr     -
 Modules/cjkcodecs/multibytecodec.c     -       PyId_write      -
-Modules/faulthandler.c -       PyId_enable     -
-Modules/faulthandler.c -       PyId_fileno     -
-Modules/faulthandler.c -       PyId_flush      -
-Modules/faulthandler.c -       PyId_stderr     -
-Modules/posixmodule.c  -       PyId___fspath__ -
 Modules/unicodedata.c  -       PyId_NFC        -
 Modules/unicodedata.c  -       PyId_NFD        -
 Modules/unicodedata.c  -       PyId_NFKC       -
@@ -1101,10 +982,6 @@ Modules/_asynciomodule.c  get_future_loop PyId__loop      -
 Modules/_asynciomodule.c       get_future_loop PyId_get_loop   -
 Modules/_asynciomodule.c       register_task   PyId_add        -
 Modules/_asynciomodule.c       unregister_task PyId_discard    -
-Modules/_collectionsmodule.c   _collections__count_elements_impl       PyId___setitem__        -
-Modules/_collectionsmodule.c   _collections__count_elements_impl       PyId_get        -
-Modules/_collectionsmodule.c   defdict_reduce  PyId_items      -
-Modules/_collectionsmodule.c   deque_reduce    PyId___dict__   -
 Modules/_csv.c csv_writer      PyId_write      -
 Modules/_ctypes/_ctypes.c      CDataType_from_param    PyId__as_parameter_     -
 Modules/_ctypes/_ctypes.c      PyCArrayType_new        PyId__length_   -
@@ -1155,15 +1032,6 @@ Modules/_elementtree.c   treebuilder_add_subelement      PyId_append     -
 Modules/_elementtree.c treebuilder_flush_data  PyId_tail       -
 Modules/_elementtree.c treebuilder_flush_data  PyId_text       -
 Modules/_gdbmmodule.c  gdbm__exit__    PyId_close      -
-Modules/_io/_iomodule.c        _io_open_impl   PyId__blksize   -
-Modules/_io/_iomodule.c        _io_open_impl   PyId_close      -
-Modules/_io/_iomodule.c        _io_open_impl   PyId_isatty     -
-Modules/_io/_iomodule.c        _io_open_impl   PyId_mode       -
-Modules/_io/fileio.c   _io_FileIO_close_impl   PyId_close      -
-Modules/_io/iobase.c   _io__IOBase_readlines_impl      PyId_extend     -
-Modules/_io/iobase.c   _io__IOBase_tell_impl   PyId_seek       -
-Modules/_io/iobase.c   _io__RawIOBase_read_impl        PyId_readall    -
-Modules/_io/iobase.c   iobase_finalize PyId__finalizing        -
 Modules/_lzmamodule.c  build_filter_spec       PyId_dict_size  -
 Modules/_lzmamodule.c  build_filter_spec       PyId_dist       -
 Modules/_lzmamodule.c  build_filter_spec       PyId_id -
@@ -1216,24 +1084,17 @@ Modules/_ssl.c  fill_and_set_sslerror   PyId_library    -
 Modules/_ssl.c fill_and_set_sslerror   PyId_reason     -
 Modules/_ssl.c fill_and_set_sslerror   PyId_verify_code        -
 Modules/_ssl.c fill_and_set_sslerror   PyId_verify_message     -
-Modules/_threadmodule.c        thread_excepthook_file  PyId_name       -
 Modules/arraymodule.c  array_array___reduce_ex__       PyId___dict__   -
 Modules/arraymodule.c  array_array___reduce_ex__       PyId__array_reconstructor       -
 Modules/arraymodule.c  array_array_fromfile_impl       PyId_read       -
 Modules/arraymodule.c  array_array_tofile      PyId_write      -
 Modules/arraymodule.c  array_arrayiterator___reduce___impl     PyId_iter       -
-Modules/itertoolsmodule.c      _grouper_reduce PyId_iter       -
-Modules/itertoolsmodule.c      cycle_reduce    PyId___setstate__       -
-Modules/itertoolsmodule.c      itertools_tee_impl      PyId___copy__   -
-Modules/itertoolsmodule.c      zip_longest_new PyId_fillvalue  -
-Modules/main.c pymain_sys_path_add_path0       PyId_path       -
 Modules/mathmodule.c   math_ceil       PyId___ceil__   -
 Modules/mathmodule.c   math_floor      PyId___floor__  -
 Modules/mathmodule.c   math_trunc      PyId___trunc__  -
 Modules/mmapmodule.c   mmap__exit__method      PyId_close      -
 Modules/ossaudiodev.c  oss_exit        PyId_close      -
 Modules/pyexpat.c      pyexpat_xmlparser_ParseFile     PyId_read       -
-Modules/timemodule.c   time_strptime   PyId__strptime_time     -
 
 # _Py_static_string
 Modules/_pickle.c      get_dotted_path PyId_dot        -
@@ -1242,33 +1103,6 @@ Modules/_pickle.c        get_dotted_path PyId_dot        -
 Modules/_asynciomodule.c       -       context_kwname  -
 Modules/_ctypes/callproc.c     _ctypes_get_errobj      error_object_name       -
 Modules/_ctypes/_ctypes.c      CreateSwappedType       suffix  -
-Modules/_io/_iomodule.c        -       _PyIO_str_close -
-Modules/_io/_iomodule.c        -       _PyIO_str_closed        -
-Modules/_io/_iomodule.c        -       _PyIO_str_decode        -
-Modules/_io/_iomodule.c        -       _PyIO_str_encode        -
-Modules/_io/_iomodule.c        -       _PyIO_str_fileno        -
-Modules/_io/_iomodule.c        -       _PyIO_str_flush -
-Modules/_io/_iomodule.c        -       _PyIO_str_getstate      -
-Modules/_io/_iomodule.c        -       _PyIO_str_isatty        -
-Modules/_io/_iomodule.c        -       _PyIO_str_locale        -
-Modules/_io/_iomodule.c        -       _PyIO_str_newlines      -
-Modules/_io/_iomodule.c        -       _PyIO_str_nl    -
-Modules/_io/_iomodule.c        -       _PyIO_str_peek  -
-Modules/_io/_iomodule.c        -       _PyIO_str_read  -
-Modules/_io/_iomodule.c        -       _PyIO_str_read1 -
-Modules/_io/_iomodule.c        -       _PyIO_str_readable      -
-Modules/_io/_iomodule.c        -       _PyIO_str_readall       -
-Modules/_io/_iomodule.c        -       _PyIO_str_readinto      -
-Modules/_io/_iomodule.c        -       _PyIO_str_readline      -
-Modules/_io/_iomodule.c        -       _PyIO_str_reset -
-Modules/_io/_iomodule.c        -       _PyIO_str_seek  -
-Modules/_io/_iomodule.c        -       _PyIO_str_seekable      -
-Modules/_io/_iomodule.c        -       _PyIO_str_setstate      -
-Modules/_io/_iomodule.c        -       _PyIO_str_tell  -
-Modules/_io/_iomodule.c        -       _PyIO_str_truncate      -
-Modules/_io/_iomodule.c        -       _PyIO_str_writable      -
-Modules/_io/_iomodule.c        -       _PyIO_str_write -
-Modules/_io/_iomodule.c        -       _PyIO_empty_str -
 Modules/_json.c        _encoded_const  s_null  -
 Modules/_json.c        _encoded_const  s_true  -
 Modules/_json.c        _encoded_const  s_false -
@@ -1278,12 +1112,8 @@ Modules/_json.c  encoder_listencode_dict empty_dict      -
 Modules/_json.c        encoder_listencode_list open_array      -
 Modules/_json.c        encoder_listencode_list close_array     -
 Modules/_json.c        encoder_listencode_list empty_array     -
-Modules/_threadmodule.c        -       str_dict        -
-Modules/_tracemalloc.c -       unknown_filename        -
 
-#-----------------------
 # _PyArg_Parser
-
 Modules/clinic/_asynciomodule.c.h      _asyncio_Future___init__        _parser -
 Modules/clinic/_asynciomodule.c.h      _asyncio_Future_add_done_callback       _parser -
 Modules/clinic/_asynciomodule.c.h      _asyncio_Future_cancel  _parser -
@@ -1301,8 +1131,6 @@ Modules/clinic/_bisectmodule.c.h  _bisect_bisect_right    _parser -
 Modules/clinic/_bisectmodule.c.h       _bisect_insort_left     _parser -
 Modules/clinic/_bisectmodule.c.h       _bisect_insort_right    _parser -
 Modules/clinic/_bz2module.c.h  _bz2_BZ2Decompressor_decompress _parser -
-Modules/clinic/_codecsmodule.c.h       _codecs_decode  _parser -
-Modules/clinic/_codecsmodule.c.h       _codecs_encode  _parser -
 Modules/clinic/_curses_panel.c.h       _curses_panel_panel_bottom      _parser -
 Modules/clinic/_curses_panel.c.h       _curses_panel_panel_hide        _parser -
 Modules/clinic/_curses_panel.c.h       _curses_panel_panel_move        _parser -
@@ -1355,21 +1183,6 @@ Modules/clinic/_queuemodule.c.h  _queue_SimpleQueue_get  _parser -
 Modules/clinic/_queuemodule.c.h        _queue_SimpleQueue_get_nowait   _parser -
 Modules/clinic/_queuemodule.c.h        _queue_SimpleQueue_put  _parser -
 Modules/clinic/_queuemodule.c.h        _queue_SimpleQueue_put_nowait   _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Match_expand   _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Match_groupdict        _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Match_groups   _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_findall        _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_finditer       _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_fullmatch      _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_match  _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_scanner        _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_search _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_split  _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_sub    _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Pattern_subn   _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Scanner_match  _parser -
-Modules/clinic/_sre.c.h        _sre_SRE_Scanner_search _parser -
-Modules/clinic/_sre.c.h        _sre_compile    _parser -
 Modules/clinic/_ssl.c.h        _ssl__SSLContext__wrap_bio      _parser -
 Modules/clinic/_ssl.c.h        _ssl__SSLContext__wrap_socket   _parser -
 Modules/clinic/_ssl.c.h        _ssl__SSLContext_get_ca_certs   _parser -
@@ -1398,48 +1211,13 @@ Modules/clinic/binascii.c.h     binascii_b2a_qp _parser -
 Modules/clinic/binascii.c.h    binascii_b2a_uu _parser -
 Modules/clinic/binascii.c.h    binascii_hexlify        _parser -
 Modules/clinic/cmathmodule.c.h cmath_isclose   _parser -
-Modules/clinic/gcmodule.c.h    gc_collect      _parser -
-Modules/clinic/gcmodule.c.h    gc_get_objects  _parser -
 Modules/clinic/grpmodule.c.h   grp_getgrgid    _parser -
 Modules/clinic/grpmodule.c.h   grp_getgrnam    _parser -
-Modules/clinic/itertoolsmodule.c.h     itertools_accumulate    _parser -
-Modules/clinic/itertoolsmodule.c.h     itertools_combinations  _parser -
-Modules/clinic/itertoolsmodule.c.h     itertools_combinations_with_replacement _parser -
-Modules/clinic/itertoolsmodule.c.h     itertools_compress      _parser -
-Modules/clinic/itertoolsmodule.c.h     itertools_count _parser -
-Modules/clinic/itertoolsmodule.c.h     itertools_groupby       _parser -
-Modules/clinic/itertoolsmodule.c.h     itertools_permutations  _parser -
 Modules/clinic/mathmodule.c.h  math_isclose    _parser -
 Modules/clinic/mathmodule.c.h  math_prod       _parser -
 Modules/clinic/md5module.c.h   MD5Type_copy    _parser -
 Modules/clinic/md5module.c.h   _md5_md5        _parser -
 Modules/clinic/overlapped.c.h  _overlapped_Overlapped  _parser -
-Modules/clinic/posixmodule.c.h os_DirEntry_is_dir      _parser -
-Modules/clinic/posixmodule.c.h os_DirEntry_is_file     _parser -
-Modules/clinic/posixmodule.c.h os_DirEntry_is_symlink  _parser -
-Modules/clinic/posixmodule.c.h os_DirEntry_stat        _parser -
-Modules/clinic/posixmodule.c.h os__exit        _parser -
-Modules/clinic/posixmodule.c.h os__path_normpath       _parser -
-Modules/clinic/posixmodule.c.h os_access       _parser -
-Modules/clinic/posixmodule.c.h os_chdir        _parser -
-Modules/clinic/posixmodule.c.h os_chmod        _parser -
-Modules/clinic/posixmodule.c.h os_close        _parser -
-Modules/clinic/posixmodule.c.h os_device_encoding      _parser -
-Modules/clinic/posixmodule.c.h os_dup2 _parser -
-Modules/clinic/posixmodule.c.h os_fspath       _parser -
-Modules/clinic/posixmodule.c.h os_fstat        _parser -
-Modules/clinic/posixmodule.c.h os_listdir      _parser -
-Modules/clinic/posixmodule.c.h os_lstat        _parser -
-Modules/clinic/posixmodule.c.h os_mkdir        _parser -
-Modules/clinic/posixmodule.c.h os_open _parser -
-Modules/clinic/posixmodule.c.h os_remove       _parser -
-Modules/clinic/posixmodule.c.h os_rename       _parser -
-Modules/clinic/posixmodule.c.h os_replace      _parser -
-Modules/clinic/posixmodule.c.h os_rmdir        _parser -
-Modules/clinic/posixmodule.c.h os_scandir      _parser -
-Modules/clinic/posixmodule.c.h os_stat _parser -
-Modules/clinic/posixmodule.c.h os_unlink       _parser -
-Modules/clinic/posixmodule.c.h os_utime        _parser -
 Modules/clinic/pyexpat.c.h     pyexpat_ParserCreate    _parser -
 Modules/clinic/pyexpat.c.h     pyexpat_xmlparser_ExternalEntityParserCreate    _parser -
 Modules/clinic/pyexpat.c.h     pyexpat_xmlparser_Parse _parser -
@@ -1461,10 +1239,7 @@ Modules/clinic/zlibmodule.c.h    zlib_compressobj        _parser -
 Modules/clinic/zlibmodule.c.h  zlib_decompress _parser -
 Modules/clinic/zlibmodule.c.h  zlib_decompressobj      _parser -
 
-#-----------------------
-# other
-
-# cached during module init - initialized once
+# other - during module init
 Modules/_asynciomodule.c       -       asyncio_mod     -
 Modules/_asynciomodule.c       -       traceback_extract_stack -
 Modules/_asynciomodule.c       -       asyncio_get_event_loop_policy   -
@@ -1479,7 +1254,10 @@ Modules/_zoneinfo.c      -       io_open -
 Modules/_zoneinfo.c    -       _tzpath_find_tzfile     -
 Modules/_zoneinfo.c    -       _common_mod     -
 
-# other - initialized once
+#-----------------------
+# other
+
+# initialized once
 Modules/_ctypes/_ctypes.c      -       _unpickle       -
 Modules/_ctypes/_ctypes.c      PyCArrayType_from_ctype cache   -
 Modules/_cursesmodule.c        -       ModDict -
@@ -1501,8 +1279,6 @@ Modules/_decimal/_decimal.c       -       extended_context_template       -
 Modules/_decimal/_decimal.c    -       round_map       -
 Modules/_decimal/_decimal.c    -       Rational        -
 Modules/_decimal/_decimal.c    -       SignalTuple     -
-Modules/_functoolsmodule.c     -       kwd_mark        -
-Modules/_io/_iomodule.c        -       _PyIO_empty_bytes       -
 Modules/_json.c        raise_errmsg    JSONDecodeError -
 Modules/_sqlite/microprotocols.c       -       psyco_adapters  -
 Modules/_sqlite/module.h       -       _pysqlite_converters    -
@@ -1512,12 +1288,8 @@ Modules/_ssl.c   -       lib_codes_to_names      -
 # XXX This should have been found by the analyzer but wasn't:
 Modules/_ssl.c -       _ssl_locks      -
 Modules/_struct.c      -       cache   -
-Modules/_tracemalloc.c -       tracemalloc_empty_traceback     -
 Modules/arraymodule.c  array_array___reduce_ex__       array_reconstructor     -
 Modules/cjkcodecs/cjkcodecs.h  getmultibytecodec       cofunc  -
-Modules/signalmodule.c -       DefaultHandler  -
-Modules/signalmodule.c -       IgnoreHandler   -
-Modules/signalmodule.c -       IntHandler      -
 
 # state
 Modules/_asynciomodule.c       -       cached_running_holder   -
@@ -1533,12 +1305,6 @@ Modules/_tkinter.c       -       valInCmd        -
 Modules/_tkinter.c     -       trbInCmd        -
 Modules/_zoneinfo.c    -       TIMEDELTA_CACHE -
 Modules/_zoneinfo.c    -       ZONEINFO_WEAK_CACHE     -
-Modules/faulthandler.c -       fatal_error     -
-Modules/faulthandler.c -       thread  -
-Modules/faulthandler.c -       user_signals    -
-Modules/faulthandler.c -       stack   -
-Modules/faulthandler.c -       old_stack       -
-Modules/signalmodule.c -       Handlers        -
 Modules/syslogmodule.c -       S_ident_o       -
 Modules/xxlimited_35.c -       ErrorObject     -
 
@@ -1550,7 +1316,6 @@ Modules/xxlimited_35.c    -       ErrorObject     -
 # initialized once
 
 # pre-allocated buffer
-Modules/getbuildinfo.c Py_GetBuildInfo buildinfo       -
 Modules/nismodule.c    nisproc_maplist_2       res     -
 Modules/pyexpat.c      PyUnknownEncodingHandler        template_buffer -
 
@@ -1574,29 +1339,21 @@ Modules/_decimal/_decimal.c     -       _py_long_bit_length     -
 Modules/_decimal/_decimal.c    -       _py_float_as_integer_ratio      -
 Modules/_decimal/_decimal.c    -       _decimal_api    -
 Modules/_elementtree.c -       expat_capi      -
-Modules/_io/bufferedio.c       _PyIO_trap_eintr        eintr_int       -
 Modules/_sqlite/module.h       -       _pysqlite_enable_callback_tracebacks    -
 Modules/_sqlite/module.h       -       pysqlite_BaseTypeAdapted        -
 Modules/_ssl.c -       _ssl_locks_count        -
 Modules/cjkcodecs/cjkcodecs.h  -       codec_list      -
 Modules/cjkcodecs/cjkcodecs.h  -       mapping_list    -
 Modules/getaddrinfo.c  -       gai_afdl        -
-Modules/posixmodule.c  os_dup2_impl    dup3_works      -
-Modules/posixmodule.c  -       structseq_new   -
-Modules/posixmodule.c  -       ticks_per_second        -
 Modules/pyexpat.c      PyInit_pyexpat  capi    -
 Modules/readline.c     -       libedit_append_replace_history_offset   -
 Modules/readline.c     -       using_libedit_emulation -
 Modules/readline.c     -       libedit_history_start   -
 Modules/resource.c     -       initialized     -
-Modules/signalmodule.c -       initialized     -
 Modules/socketmodule.c -       accept4_works   -
 Modules/socketmodule.c -       sock_cloexec_works      -
 Modules/socketmodule.c -       PySocketModuleAPI       -
 Modules/spwdmodule.c   -       initialized     -
-Modules/timemodule.c   -       initialized     -
-Modules/timemodule.c   _PyTime_GetClockWithInfo        initialized     -
-Modules/timemodule.c   _PyTime_GetProcessTimeWithInfo  ticks_per_second        -
 
 #-----------------------
 # state
@@ -1616,22 +1373,10 @@ Modules/_tkinter.c      -       command_mutex   -
 Modules/_tkinter.c     -       HeadFHCD        -
 Modules/_tkinter.c     -       stdin_ready     -
 Modules/_tkinter.c     -       event_tstate    -
-Modules/_tracemalloc.c -       allocators      -
-Modules/_tracemalloc.c -       tables_lock     -
-Modules/_tracemalloc.c -       tracemalloc_traced_memory       -
-Modules/_tracemalloc.c -       tracemalloc_peak_traced_memory  -
-Modules/_tracemalloc.c -       tracemalloc_filenames   -
-Modules/_tracemalloc.c -       tracemalloc_traceback   -
-Modules/_tracemalloc.c -       tracemalloc_tracebacks  -
-Modules/_tracemalloc.c -       tracemalloc_traces      -
-Modules/_tracemalloc.c -       tracemalloc_domains     -
-Modules/_tracemalloc.c -       tracemalloc_reentrant_key       -
 Modules/_xxsubinterpretersmodule.c     -       _globals        -
 Modules/_zoneinfo.c    -       ZONEINFO_STRONG_CACHE   -
 Modules/_zoneinfo.c    -       ZONEINFO_STRONG_CACHE_MAX_SIZE  -
 Modules/_zoneinfo.c    -       NO_TTINFO       -
-Modules/faulthandler.c faulthandler_dump_traceback     reentrant       -
-Modules/posixmodule.c  -       environ -
 Modules/readline.c     -       completer_word_break_characters -
 Modules/readline.c     -       _history_length -
 Modules/readline.c     -       should_auto_add_history -
@@ -1640,7 +1385,5 @@ Modules/readline.c        -       sigwinch_ohandler       -
 Modules/readline.c     -       completed_input_string  -
 Modules/rotatingtree.c -       random_stream   -
 Modules/rotatingtree.c -       random_value    -
-Modules/signalmodule.c -       is_tripped      -
-Modules/signalmodule.c -       wakeup  -
 Modules/socketmodule.c -       defaulttimeout  -
 Modules/syslogmodule.c -       S_log_open      -
index 2eda605913ea3598a31df96715e869e98fa18143..9b8eff3685a6836cedbfacf7e84572e0ea144418 100644 (file)
@@ -1460,6 +1460,7 @@ Objects/obmalloc.c        -       _PyMem_Debug    -
 Objects/obmalloc.c     -       _PyMem_Raw      -
 Objects/obmalloc.c     -       _PyObject       -
 Objects/obmalloc.c     -       usedpools       -
+Objects/typeobject.c   -       name_op -
 Objects/unicodeobject.c        -       stripfuncnames  -
 Objects/unicodeobject.c        -       utf7_category   -
 Objects/unicodeobject.c        unicode_decode_call_errorhandler_wchar  argparse        -
index ba3dd29055e03d5f339522bb2040d460e315b451..3cc05cc9de7779da734114a6e77d8b7a4c09661d 100644 (file)
@@ -92,6 +92,7 @@ def collate_sections(lines):
 # the commands
 
 def cmd_count_by_section(lines):
+    div = ' ' + '-' * 50
     total = 0
     def render_tree(root, depth=0):
         nonlocal total
@@ -100,11 +101,14 @@ def cmd_count_by_section(lines):
             subroot, rows, totalrows = data
             sectotal = f'({len(totalrows)})' if totalrows != rows else ''
             count = len(rows) if rows else ''
+            if depth == 0:
+                yield div
             yield f'{sectotal:>7} {count:>4}  {indent}{name}'
             yield from render_tree(subroot, depth+1)
             total += len(rows)
     sections = collate_sections(lines)
     yield from render_tree(sections)
+    yield div
     yield f'(total: {total})'