<div dir="ltr">As the same reason they don't belong to the linking context, they don't belong to the target handler too. The predicates for relocations don't need any knowledge on a target and will never be overridden depending on architecture. They are just independent predicates on references.<div><br></div><div>I think I read about this in Effective C++ and that's a good practice -- if your functionality uses only public interface of other classes, making it a non-member function is preferred. By doing that it cuts dependencies and it also make it obvious that the function doesn't depend on any hidden information. I believe this is exactly what I'm trying to do in this patch.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 2:40 PM, Shankar Kalpathi Easwaran <span dir="ltr"><<a href="mailto:shankarke@gmail.com" target="_blank">shankarke@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I do agree that LinkingContext is not the place to have these functions defined. Moving this to lld::Reference is not the right thing to do IMO as its a base class for all references. We do have TargetHandler for this purpose where each target would override this functionality.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<a href="http://reviews.llvm.org/D7605" target="_blank">http://reviews.llvm.org/D7605</a><br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
<br>
<br>
</div></div></blockquote></div><br></div>