bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Alpha split GOT problems


From: Charles Hannum
Subject: Alpha split GOT problems
Date: Mon, 22 Jul 2002 21:59:21 GMT

So there is some code in BFD that handles splitting the GOT when it
becomes too large, enabling the use of 16-bit offsets even in large
executables and shared libraries.  This is good.

However, the code is not really complete.  To wit:

      /* The first .got entry will be updated by the .plt with the
         address of the target function.  */
...
      /* Subsequent .got entries will continue to bounce through the .plt.  */

This is causing some severe performance problems -- e.g., in the X
server, where several critical functions like XSERVTransRead tend to
get screwed and go through the binder for routines they call.  Ergo, I
need to fix this.

As far as I can tell, the only way to fix it without changing the ABI
is to create a unique PLT entry and PLT relocation for every GOT entry
the symbol has.  Is this correct, or is there something more clever I
can do?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]