Issue #23881: Only use entry-values with gdb 7.4 in tests.
Fixes a regression in issue #22765.  Patch by Vinson Lee.
diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py
index 948e7ca..0da1c02 100644
--- a/Lib/test/test_gdb.py
+++ b/Lib/test/test_gdb.py
@@ -119,14 +119,6 @@
         commands = ['set breakpoint pending yes',
                     'break %s' % breakpoint,
 
-                    # GDB as of 7.4 (?) onwards can distinguish between the
-                    # value of a variable at entry vs current value:
-                    #   http://sourceware.org/gdb/onlinedocs/gdb/Variables.html
-                    # which leads to the selftests failing with errors like this:
-                    #   AssertionError: 'v@entry=()' != '()'
-                    # Disable this:
-                    'set print entry-values no',
-
                     # The tests assume that the first frame of printed
                     #  backtrace will not contain program counter,
                     #  that is however not guaranteed by gdb
@@ -138,6 +130,16 @@
                     'set print address off',
 
                     'run']
+
+        # GDB as of 7.4 onwards can distinguish between the
+        # value of a variable at entry vs current value:
+        #   http://sourceware.org/gdb/onlinedocs/gdb/Variables.html
+        # which leads to the selftests failing with errors like this:
+        #   AssertionError: 'v@entry=()' != '()'
+        # Disable this:
+        if (gdb_major_version, gdb_minor_version) >= (7, 4):
+            commands += ['set print entry-values no']
+
         if cmds_after_breakpoint:
             commands += cmds_after_breakpoint
         else: