Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r83422:c98b94183543
Date: 2016-03-29 17:37 +0200
http://bitbucket.org/pypy/pypy/changeset/c98b94183543/

Log:    On 32-bit we get mini-functions called '__x86.get_pc_thunk.*' at the
        end of some assembler files, when compiled *without* optimizations.
        These functions don't have a '.size' closing them. Skip them.

diff --git a/rpython/translator/c/gcc/trackgcroot.py 
b/rpython/translator/c/gcc/trackgcroot.py
--- a/rpython/translator/c/gcc/trackgcroot.py
+++ b/rpython/translator/c/gcc/trackgcroot.py
@@ -1507,7 +1507,8 @@
         functionlines = []
         in_function = False
         for line in iterlines:
-            if self.FunctionGcRootTracker.r_functionstart.match(line):
+            match = self.FunctionGcRootTracker.r_functionstart.match(line)
+            if match and not match.group(1).startswith('__x86.get_pc_thunk.'):
                 assert not in_function, (
                     "missed the end of the previous function")
                 yield False, functionlines
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to