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

Reply via email to