This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
use of gnu hash for MIPS
- From: Hiroki Kaminaga <kaminaga at sm dot sony dot co dot jp>
- To: binutils at sourceware dot org
- Cc: kaminaga at sm dot sony dot co dot jp
- Date: Wed, 28 Feb 2007 15:23:04 +0900 (JST)
- Subject: use of gnu hash for MIPS
Hi,
Currently, MIPS support for gnu hash is disabled:
http://sourceware.org/ml/binutils/2006-07/msg00341.html
but I eager to use it!
To overcome the problem of .dynsym sorting order conflict mentioned
above, is there good idea?
What I could come was following:
1) make .gnu.dynsym section
- which is specific for .gnu.hash, but obiously redundant
2) allow bitmap portion of gnu hash for MIPS
- to benefit speedup of that part (which is not bad idea, I think)
- the symbol lookup part is same as before
3) Somehow work out to co-existance of sorting order of .dynsym
Regarding choice 3), my understanding is as follows:
.got requires order of
+------------+
| local sym |
| local sym |
+------------+ <- DT_MIPS_LOCAL_GOTNO
| extern sym |
| extern sym |
| extern sym |
+------------+
but there is no constraints in ordering. (except to be 1:1 with
.dynsym) On the other hand, gnu hash sorts .dynsym in hash value
order. So, does this method work?
1) locate local symbols on first part
- to obey .got requirement
2) locate external sorted by hash after local symbols
- to apply gnu hash
3) sort .got entries according to hash value
- to obey .got 1:1 with .dynsym
Any advice?!
Best Regards,
# Please Cc: me, I'm not subscribed.
(Hiroki Kaminaga)
t
--