Update stable ABI script for MacOS and update list of exported symbols (GH-23783)

diff --git a/Doc/data/stable_abi.dat b/Doc/data/stable_abi.dat
index 28cb50b..c2c9c6e 100644
--- a/Doc/data/stable_abi.dat
+++ b/Doc/data/stable_abi.dat
@@ -743,6 +743,7 @@
 Py_FileSystemDefaultEncoding
 Py_Finalize
 Py_FinalizeEx
+Py_FrozenMain
 Py_GenericAlias
 Py_GenericAliasType
 Py_GetBuildInfo
diff --git a/Tools/scripts/stable_abi.py b/Tools/scripts/stable_abi.py
index b3a46f9..47547a9 100755
--- a/Tools/scripts/stable_abi.py
+++ b/Tools/scripts/stable_abi.py
@@ -31,6 +31,7 @@
     "ucnhash.h",
 }
 
+MACOS = (sys.platform == "darwin")
 
 def get_exported_symbols(library, dynamic=False):
     # Only look at dynamic symbols
@@ -57,7 +58,10 @@ def get_exported_symbols(library, dynamic=False):
             continue
 
         symbol = parts[-1]
-        yield symbol
+        if MACOS and symbol.startswith("_"):
+            yield symbol[1:]
+        else:
+            yield symbol
 
 
 def check_library(stable_abi_file, library, abi_funcs, dynamic=False):