]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-141376: Remove exceptions from `make smelly` (GH-141392)
authorPetr Viktorin <encukou@gmail.com>
Fri, 14 Nov 2025 10:22:18 +0000 (11:22 +0100)
committerGitHub <noreply@github.com>
Fri, 14 Nov 2025 10:22:18 +0000 (11:22 +0100)
* Don't ignore initialized data and BSS
* Remove exceptions for _init and _fini

Tools/build/smelly.py

index 9a360412a73a4d4739babfa93a9e722a6aace9ee..424fa6ad4a13714e6f14c0cc12b9535979514f01 100755 (executable)
@@ -21,8 +21,6 @@ EXCEPTIONS = frozenset({
 })
 
 IGNORED_EXTENSION = "_ctypes_test"
-# Ignore constructor and destructor functions
-IGNORED_SYMBOLS = {'_init', '_fini'}
 
 
 def is_local_symbol_type(symtype):
@@ -34,19 +32,12 @@ def is_local_symbol_type(symtype):
     if symtype.islower() and symtype not in "uvw":
         return True
 
-    # Ignore the initialized data section (d and D) and the BSS data
-    # section. For example, ignore "__bss_start (type: B)"
-    # and "_edata (type: D)".
-    if symtype in "bBdD":
-        return True
-
     return False
 
 
 def get_exported_symbols(library, dynamic=False):
     print(f"Check that {library} only exports symbols starting with Py or _Py")
 
-    # Only look at dynamic symbols
     args = ['nm', '--no-sort']
     if dynamic:
         args.append('--dynamic')
@@ -89,8 +80,6 @@ def get_smelly_symbols(stdout, dynamic=False):
 
         if is_local_symbol_type(symtype):
             local_symbols.append(result)
-        elif symbol in IGNORED_SYMBOLS:
-            local_symbols.append(result)
         else:
             smelly_symbols.append(result)