This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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
--


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]