Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r67407:8eb4474573c2 Date: 2013-10-16 10:50 +0200 http://bitbucket.org/pypy/pypy/changeset/8eb4474573c2/
Log: 32-bit support diff --git a/pypy/tool/gdb_pypy.py b/pypy/tool/gdb_pypy.py --- a/pypy/tool/gdb_pypy.py +++ b/pypy/tool/gdb_pypy.py @@ -119,10 +119,15 @@ typeids_txt = os.path.join(newroot, 'typeids.txt') print 'loading', typeids_txt typeids = {} + if sys.maxint < 2**32: + TIDT = "int*" + else: + TIDT = "char*" with open(typeids_txt) as f: for line in f: member, descr = map(str.strip, line.split(None, 1)) - expr = "((char*)(&pypy_g_typeinfo.%s)) - (char*)&pypy_g_typeinfo" % member + expr = ("((%s)(&pypy_g_typeinfo.%s)) - (%s)&pypy_g_typeinfo" + % (TIDT, member, TIDT)) offset = int(self.gdb.parse_and_eval(expr)) typeids[offset] = descr return typeids diff --git a/pypy/tool/test/test_gdb_pypy.py b/pypy/tool/test/test_gdb_pypy.py --- a/pypy/tool/test/test_gdb_pypy.py +++ b/pypy/tool/test/test_gdb_pypy.py @@ -1,6 +1,11 @@ -import py +import py, sys from pypy.tool import gdb_pypy +if sys.maxint < 2**32: + TIDT = "int*" +else: + TIDT = "char*" + class FakeGdb(object): COMMAND_NONE = -1 @@ -108,7 +113,8 @@ """.strip()) progspace = Mock(filename=str(exe)) exprs = { - '((char*)(&pypy_g_typeinfo.member0)) - (char*)&pypy_g_typeinfo': 0, + '((%s)(&pypy_g_typeinfo.member0)) - (%s)&pypy_g_typeinfo' + % (TIDT, TIDT): 0, } gdb = FakeGdb(exprs, progspace) cmd = gdb_pypy.RPyType(gdb) @@ -135,9 +141,12 @@ myvar = Value(d) exprs = { '*myvar': myvar, - '((char*)(&pypy_g_typeinfo.member0)) - (char*)&pypy_g_typeinfo': 0, - '((char*)(&pypy_g_typeinfo.member1)) - (char*)&pypy_g_typeinfo': 123, - '((char*)(&pypy_g_typeinfo.member2)) - (char*)&pypy_g_typeinfo': 456, + '((%s)(&pypy_g_typeinfo.member0)) - (%s)&pypy_g_typeinfo' + % (TIDT, TIDT): 0, + '((%s)(&pypy_g_typeinfo.member1)) - (%s)&pypy_g_typeinfo' + % (TIDT, TIDT): 123, + '((%s)(&pypy_g_typeinfo.member2)) - (%s)&pypy_g_typeinfo' + % (TIDT, TIDT): 456, } gdb = FakeGdb(exprs, progspace) cmd = gdb_pypy.RPyType(gdb) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit