[pypy-commit] pypy default: On 32-bit we get mini-functions called '__x86.get_pc_thunk.*' at the

arigo pypy.commits at gmail.com
Tue Mar 29 12:56:24 EDT 2016


Author: Armin Rigo <arigo at tunes.org>
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


More information about the pypy-commit mailing list