Hash Table - Hiroshi123/bin_tools GitHub Wiki

Hash Table

There are 3 different internal hash tables in this linker.

  1. Export symbol hash table
  2. DLL(shared library) hash table
  3. Dynamic import hash table
Export DLL(shared lib) Dynamic
Role register all of symbols on provided input object files register symbols which helps to resolve dynamic loading Dynamically resolved symbol will be registered on it to prevent duplication.

On linux, you need to emit DT_HASH or DT_GNU_HASH table for exporting symbols.

My hash table is a bit different from DT_HASH and DT_GNU_HASH.

The difference is chain contains meta information on its field on my hash table.

hash function