python: Enforce absolute imports for Python 3 compatibility
authorAndreas Sandberg <andreas.sandberg@arm.com>
Fri, 25 Jan 2019 11:46:30 +0000 (11:46 +0000)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Sat, 23 Feb 2019 23:34:05 +0000 (23:34 +0000)
Change-Id: Ia88d7fd472f7aed9b97df81468211384981bf6c6
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/15983
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

23 files changed:
src/arch/generic/BaseTLB.py
src/python/importer.py
src/python/m5/SimObject.py
src/python/m5/__init__.py
src/python/m5/core.py
src/python/m5/ext/__init__.py
src/python/m5/ext/pyfdt/pyfdt.py
src/python/m5/internal/params.py
src/python/m5/main.py
src/python/m5/objects/__init__.py
src/python/m5/options.py
src/python/m5/params.py
src/python/m5/proxy.py
src/python/m5/simulate.py
src/python/m5/trace.py
src/python/m5/util/__init__.py
src/python/m5/util/code_formatter.py
src/python/m5/util/dot_writer.py
src/python/m5/util/jobfile.py
src/python/m5/util/pybind.py
src/python/m5/util/smartdict.py
src/python/m5/util/sorteddict.py
src/python/m5/util/terminal.py

index b98b9935675ea2400d1dc022cfba2397758e5b5d..688117a6686ae3dc5483f5b8fc42365667aa490f 100644 (file)
@@ -29,7 +29,7 @@
 #          Ivan Pizarro
 
 from m5.params import *
-from MemObject import MemObject
+from m5.objects.MemObject import MemObject
 
 class BaseTLB(MemObject):
     type = 'BaseTLB'
index 224ab3bd9385693b85f2d6cdbd610c32098eed2e..20d168e1cd356ca19a84ffbafef6747f7b017176 100644 (file)
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 # Simple importer that allows python to import data from a dict of
 # code objects.  The keys are the module path, and the items are the
 # filename and bytecode of the file.
index 11330b4c3f45c1f5e2120d4751e46dd749965244..5a869125e0566032de3e7bbc3f4feda65542cf4b 100644 (file)
@@ -44,6 +44,7 @@
 #          Andreas Sandberg
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import sys
 from types import FunctionType, MethodType, ModuleType
index 2730ea1420e9b30486329f06cc32b48e738ac93b..d97727cd80ff8e64a40379bde0988dc89355c32f 100644 (file)
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 # Import useful subpackages of M5, but *only* when run as an m5
 # script.  This is mostly to keep backward compatibility with existing
 # scripts while allowing new SCons code to operate properly.
@@ -42,14 +45,14 @@ except ImportError:
     in_gem5 = False
 
 if in_gem5:
-    import SimObject
-    import core
-    import objects
-    import params
-    import stats
-    import util
+    from . import SimObject
+    from . import core
+    from . import objects
+    from . import params
+    from . import stats
+    from . import util
 
-    from event import *
-    from main import main
-    from simulate import *
+    from .event import *
+    from .main import main
+    from .simulate import *
 
index ab0ea57ead1c7bce7bf5100b5b87913eb46e34a6..4c94353aa221202a89e834e1845bb89670e5311a 100644 (file)
@@ -26,4 +26,7 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from _m5.core import setOutputDir
index a5bc8ef26ce0a5fa634e30a327b2a19ffb20e54f..f566a349365321b84b3ffd14639035f883a6346c 100644 (file)
@@ -36,3 +36,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 # Authors: Glenn Bergmans
+
+from __future__ import print_function
+from __future__ import absolute_import
index 3b3238e258801bf4443054b1d9a598b461ccaef7..3c78b036c47e262b3bce920f1ab06e488a96fcb1 100644 (file)
@@ -19,6 +19,9 @@ Device Tree Blob Parser
 @author: Neil 'superna' Armstrong <superna9999@gmail.com>
 """
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import string
 import os
 import json
index 400e780624da845594f567e2a196cf5623fbd238..d06851ac84abcb49a5e9dc10bcb69936d198ea0a 100644 (file)
@@ -38,6 +38,9 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import inspect
 import _m5
 
index eeaa9470b3200513ccbb1342acfc973a99a448dc..fae04e76c452d3e2d949e2c97e77677aaab3e1b9 100644 (file)
@@ -54,8 +54,8 @@ brief_copyright=\
     "gem5 is copyrighted software; use the --copyright option for details."
 
 def parse_options():
-    import config
-    from options import OptionParser
+    from . import config
+    from .options import OptionParser
 
     options = OptionParser(usage=usage, version=version,
                            description=brief_copyright)
@@ -203,15 +203,15 @@ def _check_tracing():
 def main(*args):
     import m5
 
-    import core
-    import debug
-    import defines
-    import event
-    import info
-    import stats
-    import trace
+    from . import core
+    from . import debug
+    from . import defines
+    from . import event
+    from . import info
+    from . import stats
+    from . import trace
 
-    from util import inform, fatal, panic, isInteractive
+    from .util import inform, fatal, panic, isInteractive
 
     if len(args) == 0:
         options, arguments = parse_options()
@@ -286,7 +286,7 @@ def main(*args):
         debug.help()
 
     if options.list_sim_objects:
-        import SimObject
+        from . import SimObject
         done = True
         print("SimObjects:")
         objects = list(SimObject.allClasses.keys())
index 302bb6f23d0b24ffd5a928f64c7fd670195dec99..f80f6c5d1d807e8ae0c2a1a52b25edd53fd44106 100644 (file)
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.internal import params
 from m5.SimObject import *
 
index 5b291b1439d45e7f639bdd23aeaa502a9aba04d5..d34abfc41cc3acdfd780d038e6f56c2a9e73d2db 100644 (file)
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import optparse
 import sys
 
index 1470765bbc1fef085a52e659267310cee2b95e07..72cc0b2ad2a050557242c6f3f8e63eefe0b38f61 100644 (file)
@@ -68,9 +68,9 @@ import sys
 import time
 import math
 
-import proxy
-import ticks
-from util import *
+from . import proxy
+from . import ticks
+from .util import *
 
 def isSimObject(*args, **kwargs):
     return SimObject.isSimObject(*args, **kwargs)
@@ -2159,4 +2159,4 @@ __all__ = ['Param', 'VectorParam',
            'MasterPort', 'SlavePort',
            'VectorMasterPort', 'VectorSlavePort']
 
-import SimObject
+from . import SimObject
index 2a32500200f5e46fbddef32511230011e7808c59..346ed928bfdbfc535052931e1749739efde84ee1 100644 (file)
 #
 #####################################################################
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import copy
 
-import params
+from . import params
 
 class BaseProxy(object):
     def __init__(self, search_self, search_up):
index d72dee22217c70ee685f62fef7d0776628f3d9f1..6f0232736dcd0e5ea2801595730b4e165d60468a 100644 (file)
@@ -51,14 +51,14 @@ import _m5.drain
 import _m5.core
 from _m5.stats import updateEvents as updateStatEvents
 
-import stats
-import SimObject
-import ticks
-import objects
+from . import stats
+from . import SimObject
+from . import ticks
+from . import objects
 from m5.util.dot_writer import do_dot, do_dvfs_dot
 
-from util import fatal
-from util import attrdict
+from .util import fatal
+from .util import attrdict
 
 # define a MaxTick parameter, unsigned 64 bit
 MaxTick = 2**64 - 1
index ca98ebdc47fa6166dac6adc2b59ce7257433e599..fe26325f1841822cdd8f228ff6c991292bf6b37b 100644 (file)
@@ -26,5 +26,8 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 # Export native methods to Python
 from _m5.trace import output, ignore, disable, enable
index 341e54fdbb85480258ffd278dc95c2568ec98ef7..f7493be221c2e55b15f1d303c87502bb56713bc3 100644 (file)
@@ -45,14 +45,14 @@ import os
 import re
 import sys
 
-import convert
-import jobfile
-
-from attrdict import attrdict, multiattrdict, optiondict
-from code_formatter import code_formatter
-from multidict import multidict
-from smartdict import SmartDict
-from sorteddict import SortedDict
+from . import convert
+from . import jobfile
+
+from .attrdict import attrdict, multiattrdict, optiondict
+from .code_formatter import code_formatter
+from .multidict import multidict
+from .smartdict import SmartDict
+from .sorteddict import SortedDict
 
 # panic() should be called when something happens that should never
 # ever happen regardless of what the user does (i.e., an acutal m5
index 21bbcd7a88e664e65b7c8b6ea9cb366e156e00ee..8d48d0f76682fc3c3af4bbd5f008b85903507dde 100644 (file)
@@ -279,7 +279,7 @@ class code_formatter(object):
 __all__ = [ "code_formatter" ]
 
 if __name__ == '__main__':
-    from code_formatter import code_formatter
+    from .code_formatter import code_formatter
     f = code_formatter()
 
     class Foo(dict):
index f368faacbbdcd4e4afef910a5b85fad3ef08e498..730f0ede18920c838d924eb59cf1783d098418a5 100644 (file)
@@ -57,6 +57,9 @@
 #
 #####################################################################
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import m5, os, re
 from m5.SimObject import isRoot, isSimObjectVector
 from m5.params import PortRef, isNullPointer
index 45214a0b5afd374fce93c22bf12f8f8bd1b2b2d9..e19c62e02bb99d8bb235ed3721002d89a0e78f82 100644 (file)
@@ -27,6 +27,7 @@
 # Authors: Nathan Binkert
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import sys
 
index f666547863ff2b0d11a44dfb5bff82c8202cfe66..4b5e03d3180796128220f6479a18ea22b5dd6777 100644 (file)
@@ -35,6 +35,9 @@
 #
 # Authors: Andreas Sandberg
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from abc import *
 
 class PyBindExport(object):
index b8127b149e6c9d8df79306d96492b32940fd20ed..3cfe3294ede99ae24006b2493edfc8550141c5d6 100644 (file)
 # rather than a normal value, and (c) coerce values written to the
 # dict to be strings.
 
+from __future__ import print_function
+from __future__ import absolute_import
 
-from convert import *
-from attrdict import attrdict
+from .convert import *
+from .attrdict import attrdict
 
 class Variable(str):
     """Intelligent proxy class for SmartDict.  Variable will use the
index 28c9c601dcb9cbf94205f56b6e8b0dc66837e100..25d6d3986b5b6a6b1a0fcd81ea947a826e0e96ec 100644 (file)
@@ -25,6 +25,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 from bisect import bisect_left, bisect_right
 
index 00f8b706152aa1501df1593e1b6b743e417820e5..fd4392e9564df86368390b989c00c7347b22acd5 100644 (file)
@@ -27,6 +27,7 @@
 # Author: Steve Reinhardt
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import sys