<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Apr 20, 2017 at 3:16 AM, Simon Atanasyan <span dir="ltr"><<a href="mailto:simon@atanasyan.com" target="_blank">simon@atanasyan.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, Apr 19, 2017 at 3:19 PM, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>
> But MIPS multi-GOT is not integrated well as other parts of the system, no?<br>
> It seems that it tried to avoid making any changes to the system. It doesn't<br>
> use any help from dynamic linker other than the regular dynamic relocation<br>
> processing. So we have to generate more dynamic relocations than necessary<br>
> to simulate what the dynamic linker would do for the real GOT.<br>
<br>
</span>As far as I understand at the time of initial multi-GOT implementation there<br>
were two solutions. The first one - perform all modifications in a static<br>
linker. The second one - modify both static and dynamic linkers. Complexity<br>
are equal in both cases. In the second case it is just spread among two<br>
components. The first solution allows linking of large files and running<br>
such files on any systems at the price of worse loading time for large<br>
executable files. The second solution provides better loading time, but<br>
requires upgrading of system dynamic linkers. Probably keeping all changes<br>
in a static linker provides more benefits and this approach has bee chosen.<br>
<br>
Now I do not know about large amount of end-user requests on loading time<br>
reducing so it is still not a good idea to broke compatibility and redesign<br>
dynamic linker at least for that part of ABI.</blockquote><div><br></div><div>But they could have done both -- they could have made a temporary change to the static linker and also improved the dynamic linker, no? It seems to me that that is another instance of the habit to overly avoid changing the loader at all. It looks like MIPS systems are frozen more than a decade ago, and nobody seems to make any changes to it anymore. Why?</div><div><br></div><div>(Sorry for the balated response -- I was on vacation last week.)</div></div></div></div>