Hi,<div><br></div><div>I recently ran into a case, where x86 fails to run correctly.</div><div><br></div><div>Checking into the emitted code, it seems that the local memory anchored at ebp has conflict with stack memory anchored at esp prepared for function calls. </div>
<div><br></div><div>For example, let us say:</div><div><br></div><div>foo()</div><div>{</div><div> ...</div><div> call bar();</div><div>}</div><div><br></div><div>There is some local data for foo() at ebp-170h. while preparing the call to bar, some data is written to esp+17h. The problem is that esp+17h and ebp-170h point to the same address, and therefore the data is corrupted.</div>
<div><br></div><div><br></div><div>Has anyone seen this problem before? and is there any fix or work around for that?</div><div><br></div><div>Thanks!</div><div><br></div><div><br></div><div>-Peng</div>