[Top][All Lists]
[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?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Alpha split GOT problems,
Charles Hannum <=