Hash Table - Hiroshi123/bin_tools GitHub Wiki
Hash Table
There are 3 different internal hash tables in this linker.
- Export symbol hash table
- DLL(shared library) hash table
- 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