Add support for listing missing POSIX 2013 symbols.

Change-Id: Ic51787890f837f74a22ca63d64a5710474d00cbc
diff --git a/libc/tools/check-symbols-glibc.py b/libc/tools/check-symbols-glibc.py
index 8bcf7fc..0c7e28e 100755
--- a/libc/tools/check-symbols-glibc.py
+++ b/libc/tools/check-symbols-glibc.py
@@ -16,6 +16,14 @@
 if arch == 'aarch64':
   arch = 'arm64'
 
+def GetSymbolsFromTxt(txt_file):
+  symbols = set()
+  f = open(txt_file, 'r')
+  for line in f.read().splitlines():
+    symbols.add(line)
+  f.close()
+  return symbols
+
 def GetSymbolsFromSo(so_file):
   # Example readelf output:
   #   264: 0001623c     4 FUNC    GLOBAL DEFAULT    8 cabsf
@@ -75,6 +83,7 @@
 
 glibc = GetSymbolsFromSystemSo('libc.so.*', 'librt.so.*', 'libpthread.so.*', 'libresolv.so.*', 'libm.so.*')
 bionic = GetSymbolsFromAndroidSo('libc.so', 'libm.so')
+posix = GetSymbolsFromTxt(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'posix-2013.txt'))
 ndk_ignored = GetNdkIgnored()
 
 glibc = map(MangleGlibcNameToBionic, glibc)
@@ -190,6 +199,11 @@
     print symbol
 
   print
+  print 'in posix but not bionic:'
+  for symbol in sorted(posix.difference(bionic)):
+    print symbol
+
+  print
   print 'in bionic but not glibc:'
 
 allowed_stuff = (bsd_stuff | FORTIFY_stuff | linux_stuff | macro_stuff |