scons: Fixes to improve python 3 support.

Some simple fixes to improve python 3 compatability in scons.

Change-Id: I89aba6ed9d73ee733307c57e033c636029d9cb7a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23264
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/SConstruct b/SConstruct
index 9a38210..5a90808 100755
--- a/SConstruct
+++ b/SConstruct
@@ -206,7 +206,7 @@
     for i in range(len(l)+offs, 0, -1):
         if l[i] == elt:
             return i
-    raise ValueError, "element not found"
+    raise ValueError("element not found")
 
 # Take a list of paths (or SCons Nodes) and return a list with all
 # paths made absolute and ~-expanded.  Paths will be interpreted
@@ -717,7 +717,8 @@
 
     # verify that this stuff works
     if not conf.CheckHeader('Python.h', '<>'):
-        error("Check failed for Python.h header in", py_includes, "\n"
+        error("Check failed for Python.h header in",
+                ' '.join(py_includes), "\n"
               "Two possible reasons:\n"
               "1. Python headers are not installed (You can install the "
               "package python-dev on Ubuntu and RedHat)\n"
@@ -941,7 +942,7 @@
 
         # Add self to dict
         if name in CpuModel.dict:
-            raise AttributeError, "CpuModel '%s' already registered" % name
+            raise AttributeError("CpuModel '%s' already registered" % name)
         CpuModel.dict[name] = self
 
 Export('CpuModel')
diff --git a/site_scons/site_init.py b/site_scons/site_init.py
index 351f49b..623e26e 100644
--- a/site_scons/site_init.py
+++ b/site_scons/site_init.py
@@ -49,7 +49,7 @@
     # 0.98, and the second will fail for 0.98.0
     EnsureSConsVersion(0, 98)
     EnsureSConsVersion(0, 98, 1)
-except SystemExit, e:
+except SystemExit as e:
     print("""
 For more details, see:
     http://gem5.org/Dependencies
@@ -59,7 +59,7 @@
 # pybind11 requires python 2.7
 try:
     EnsurePythonVersion(2, 7)
-except SystemExit, e:
+except SystemExit as e:
     print ("""
 You can use a non-default installation of the Python interpreter by
 rearranging your PATH so that scons finds the non-default 'python' and
diff --git a/site_scons/site_tools/default.py b/site_scons/site_tools/default.py
index 9d02ab7..08736f01 100644
--- a/site_scons/site_tools/default.py
+++ b/site_scons/site_tools/default.py
@@ -61,7 +61,7 @@
         "M5",              # M5 configuration (e.g., path to kernels)
         ]
 
-    for key,val in sorted(os.environ.iteritems()):
+    for key,val in sorted(os.environ.items()):
         if key in use_vars or \
                 any([key.startswith(prefix) for prefix in use_prefixes]):
             env['ENV'][key] = val
diff --git a/site_scons/site_tools/git.py b/site_scons/site_tools/git.py
index 1b40f28..e5b7912 100644
--- a/site_scons/site_tools/git.py
+++ b/site_scons/site_tools/git.py
@@ -54,7 +54,7 @@
     try:
         gitdir = env.Dir(readCommand(
             ["git", "rev-parse", "--git-dir"]).strip("\n"))
-    except Exception, e:
+    except Exception as e:
         print("Warning: Failed to find git repo directory: %s" % e)
         return