[pypy-svn] r66950 - pypy/branch/asmgcc-mingw32/pypy/translator/c/gcc

afa at codespeak.net afa at codespeak.net
Tue Aug 18 23:13:12 CEST 2009


Author: afa
Date: Tue Aug 18 23:13:11 2009
New Revision: 66950

Modified:
   pypy/branch/asmgcc-mingw32/pypy/translator/c/gcc/trackgcroot.py
Log:
Start parsing the assembler code.
mingw32 format is very similar to darwin.


Modified: pypy/branch/asmgcc-mingw32/pypy/translator/c/gcc/trackgcroot.py
==============================================================================
--- pypy/branch/asmgcc-mingw32/pypy/translator/c/gcc/trackgcroot.py	(original)
+++ pypy/branch/asmgcc-mingw32/pypy/translator/c/gcc/trackgcroot.py	Tue Aug 18 23:13:11 2009
@@ -188,8 +188,10 @@
         if functionlines:
             yield in_function, functionlines
 
+    _find_functions_mingw32 = _find_functions_darwin
+
     def process(self, iterlines, newfile, entrypoint='main', filename='?'):
-        if self.format == 'darwin':
+        if self.format in ('darwin', 'mingw32'):
             entrypoint = '_' + entrypoint
         for in_function, lines in self.find_functions(iterlines):
             if in_function:
@@ -232,6 +234,9 @@
         elif format == 'darwin':
             match = r_functionstart_darwin.match(lines[0])
             funcname = '_'+match.group(1)
+        elif format == 'mingw32':
+            match = r_functionstart_darwin.match(lines[0])
+            funcname = '_'+match.group(1)
         else:
             assert False, "unknown format: %s" % format
  
@@ -1107,6 +1112,8 @@
             break
     if sys.platform == 'darwin':
         format = 'darwin'
+    elif sys.platform == 'win32':
+        format = 'mingw32'
     else:
         format = 'elf'
     tracker = GcRootTracker(verbose=verbose, shuffle=shuffle, format=format)



More information about the Pypy-commit mailing list