make gdb skip expected
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 300cf39..c487d29 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -1449,6 +1449,9 @@
             if sys.platform != 'sunos5':
                 self.expected.add('test_nis')
 
+            if support.python_is_optimized():
+                self.expected.add("test_gdb")
+
             self.valid = True
 
     def isvalid(self):
diff --git a/Lib/test/support.py b/Lib/test/support.py
index 31528a9..132bc56 100644
--- a/Lib/test/support.py
+++ b/Lib/test/support.py
@@ -20,6 +20,9 @@
 import subprocess
 import imp
 import time
+import sysconfig
+
+
 try:
     import _thread
 except ImportError:
@@ -885,6 +888,16 @@
     gc.collect()
 
 
+def python_is_optimized():
+    """Find if Python was built with optimizations."""
+    cflags = sysconfig.get_config_vars()['PY_CFLAGS']
+    final_opt = ""
+    for opt in cflags.split():
+        if opt.startswith('-O'):
+            final_opt = opt
+    return final_opt and final_opt != '-O0'
+
+
 #=======================================================================
 # Decorator for running a function in a different locale, correctly resetting
 # it afterwards.
diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py
index bac8d36..55597ce 100644
--- a/Lib/test/test_gdb.py
+++ b/Lib/test/test_gdb.py
@@ -9,9 +9,8 @@
 import sys
 import unittest
 import locale
-import sysconfig
 
-from test.support import run_unittest, findfile
+from test.support import run_unittest, findfile, python_is_optimized
 
 try:
     gdb_version, _ = subprocess.Popen(["gdb", "--version"],
@@ -665,15 +664,8 @@
                                     r".*\na = 1\nb = 2\nc = 3\n.*")
 
 def test_main():
-    cflags = sysconfig.get_config_vars()['PY_CFLAGS']
-    final_opt = ""
-    for opt in cflags.split():
-        if opt.startswith('-O'):
-            final_opt = opt
-    if final_opt and final_opt != '-O0':
-        raise unittest.SkipTest("Python was built with compiler optimizations, "
-                                "tests can't reliably succeed")
-
+    if python_is_optimized():
+        raise unittest.SkipTest("Python was compiled with optimizations")
     run_unittest(PrettyPrintTests,
                  PyListTests,
                  StackNavigationTests,