[pypy-svn] r68228 - pypy/trunk/pypy/translator/c/gcc

arigo at codespeak.net arigo at codespeak.net
Wed Oct 7 12:03:54 CEST 2009


Author: arigo
Date: Wed Oct  7 12:03:54 2009
New Revision: 68228

Modified:
   pypy/trunk/pypy/translator/c/gcc/trackgcroot.py
Log:
Support for gcc-4.4, which uses occasionally function names
that can be any label like "T.14426".


Modified: pypy/trunk/pypy/translator/c/gcc/trackgcroot.py
==============================================================================
--- pypy/trunk/pypy/translator/c/gcc/trackgcroot.py	(original)
+++ pypy/trunk/pypy/translator/c/gcc/trackgcroot.py	Wed Oct  7 12:03:54 2009
@@ -2,8 +2,9 @@
 
 import re, sys, os, random
 
-r_functionstart_elf = re.compile(r"\t.type\s+(\w+),\s*[@]function\s*$")
-r_functionend_elf   = re.compile(r"\t.size\s+(\w+),\s*[.]-(\w+)\s*$")
+LABEL               = r'([a-zA-Z_$.][a-zA-Z0-9_$@.]*)'
+r_functionstart_elf = re.compile(r"\t.type\s+"+LABEL+",\s*[@]function\s*$")
+r_functionend_elf   = re.compile(r"\t.size\s+"+LABEL+",\s*[.]-"+LABEL+"\s*$")
 
 # darwin
 r_textstart            = re.compile(r"\t.text\s*$")
@@ -25,9 +26,8 @@
 OFFSET_LABELS   = 2**30
 
 # inside functions
-LABEL           = r'([a-zA-Z_$.][a-zA-Z0-9_$@.]*)'
 r_label         = re.compile(LABEL+"[:]\s*$")
-r_globl         = re.compile(r"\t[.]globl\t(\w+)\s*$")
+r_globl         = re.compile(r"\t[.]globl\t"+LABEL+"\s*$")
 r_globllabel    = re.compile(LABEL+r"=[.][+]%d\s*$"%OFFSET_LABELS)
 r_insn          = re.compile(r"\t([a-z]\w*)\s")
 r_jump          = re.compile(r"\tj\w+\s+"+LABEL+"\s*$")



More information about the Pypy-commit mailing list