<div>Here's the result:</div><div><br></div><div>.Traceback (most recent call last):</div><div> File "translator/c/gcc/trackgcroot.py", line 1612, in <module></div><div> tracker.process(f, g, filename=fn)</div>
<div> File "translator/c/gcc/trackgcroot.py", line 1420, in process</div><div> lines = parser.process_function(lines, entrypoint, filename)</div><div> File "translator/c/gcc/trackgcroot.py", line 1071, in process_function</div>
<div> lines, entrypoint, filename)</div><div> File "translator/c/gcc/trackgcroot.py", line 986, in process_function</div><div> table = tracker.computegcmaptable(self.verbose)</div><div> File "translator/c/gcc/trackgcroot.py", line 50, in computegcmaptable</div>
<div> self.trackgcroots()</div><div> File "translator/c/gcc/trackgcroot.py", line 269, in trackgcroots</div><div> self.walk_instructions_backwards(walker, insn, loc)</div><div> File "translator/c/gcc/trackgcroot.py", line 288, in walk_instructions_backwards</div>
<div> for prevstate in walker(insn, state):</div><div> File "translator/c/gcc/trackgcroot.py", line 261, in walker</div><div> source = insn.source_of(loc, tag)</div><div> File "/Users/leotrottier/Source_Code/pypy-trunk/pypy/translator/c/gcc/instruction.py", line 96, in source_of</div>
<div> (localvar,))</div><div>AssertionError: must come from an argument to the function, got <-44;esp></div><div><br></div><br><div class="gmail_quote">On Thu, Nov 19, 2009 at 3:55 PM, Amaury Forgeot d'Arc <span dir="ltr"><<a href="mailto:amauryfa@gmail.com">amauryfa@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">2009/11/19 Leo Trottier <<a href="mailto:trottier@gmail.com">trottier@gmail.com</a>>:<br>
</div><div class="im">> attached --<br>
> also (more lodgeit abuse): <a href="http://paste.pocoo.org/show/151708/" target="_blank">http://paste.pocoo.org/show/151708/</a><br>
> Leo<br>
<br>
</div>I narrowed the problem to one function.<br>
copy the attached file somewhere, and run trackgcroot like this:<br>
<br>
python translator/c/gcc/trackgcroot.py -fdarwin -t function.s<br>
<br>
I'm still trying to understand the control flow of this function<br>
(there are 68 jumps...)<br>
and why trackgcroot fails to find the value at the origin of some register.<br>
<br>
--<br>
<font color="#888888">Amaury Forgeot d'Arc<br>
</font></blockquote></div><br>