<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 14, 2013 at 4:53 PM, <a href="mailto:kledzik@apple.com" target="_blank">kledzik@apple.com</a> <span dir="ltr"><<a href="mailto:kledzik@apple.com" target="_blank">kledzik@apple.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
  I understand the need to check that the fallback is not being changed or lost, but why change the behavior to keep switching to newer undefines?  In the current impl, if there are bunch of .o files and each one has an undefine for _malloc, the UndefinedAtom from the first .o file will be put in the symbol table, and the rest will entered in the the replacement map to be replaced by the first.  If instead you keep changing the symbol table entry for malloc when processing each .o file, you get a long chain in the replacement map where the first UndefinedAtom is to be replaced by the second which is to be replaced by the third, etc.<br>



<br>
  Seems to me there are three steps here:<br>
  1) warn if the new and current undefined atoms have different can-be-null<br>
  2) warn if the new and current undefined atoms have different fallback names<br>
  3) only switch the current undefined atom to be another one if it is "better" (has fallback or can't be null).<br></blockquote><div><br></div><div>These steps make sense, it's better to avoid making a long chain in the replacement map. Thank you for the suggestion. I'll update the patch as you suggested.</div>


</div></div></div>