Issue #15204: Deprecated the 'U' mode in file-like objects.
diff --git a/Tools/iobench/iobench.py b/Tools/iobench/iobench.py
index 530bc79..712e584 100644
--- a/Tools/iobench/iobench.py
+++ b/Tools/iobench/iobench.py
@@ -24,6 +24,8 @@
     try:
         return open(fn, mode, encoding=encoding or TEXT_ENCODING)
     except TypeError:
+        if 'r' in mode:
+            mode += 'U' # 'U' mode is needed only in Python 2.x
         return open(fn, mode)
 
 def get_file_sizes():
@@ -380,7 +382,7 @@
             f.write(os.urandom(size))
     # Text files
     chunk = []
-    with text_open(__file__, "rU", encoding='utf8') as f:
+    with text_open(__file__, "r", encoding='utf8') as f:
         for line in f:
             if line.startswith("# <iobench text chunk marker>"):
                 break
diff --git a/Tools/scripts/diff.py b/Tools/scripts/diff.py
index f9b14bf..8be527f 100755
--- a/Tools/scripts/diff.py
+++ b/Tools/scripts/diff.py
@@ -38,9 +38,9 @@
 
     fromdate = file_mtime(fromfile)
     todate = file_mtime(tofile)
-    with open(fromfile, 'U') as ff:
+    with open(fromfile) as ff:
         fromlines = ff.readlines()
-    with open(tofile, 'U') as tf:
+    with open(tofile) as tf:
         tolines = tf.readlines()
 
     if options.u:
diff --git a/Tools/scripts/ndiff.py b/Tools/scripts/ndiff.py
index 2422091..c6d09b8 100755
--- a/Tools/scripts/ndiff.py
+++ b/Tools/scripts/ndiff.py
@@ -60,7 +60,7 @@
 # couldn't be opened
 def fopen(fname):
     try:
-        return open(fname, 'U')
+        return open(fname)
     except IOError as detail:
         return fail("couldn't open " + fname + ": " + str(detail))