[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