runtime_loader: Add support for DT_GNU_HASH.
This is an alternative to DT_HASH (SystemV/SVR4 hash tables.) Notably, it uses a Bloom filter to allow an entire image to be skipped at once rather than searching the actual symbol hash. We don't currently build anything with DT_GNU_HASH support. You can test this by adding -Wl,--hash-style=both to HAIKU_LINKFLAGS. (It seems to increase image sizes by not too much: libroot goes from 1347139 to 1367691 bytes (20.55 KB) in my build.) Change-Id: I4a91276490fcd136db175833ee48b36e06ceed47 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7855 Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
90a0982dcb
commit
ffc1a5219d
@@ -544,6 +544,8 @@ typedef struct {
|
||||
#define DT_PREINIT_ARRAY 32 /* preinitialization array */
|
||||
#define DT_PREINIT_ARRAYSZ 33 /* preinitialization array size */
|
||||
|
||||
#define DT_GNU_HASH 0x6ffffef5 /* GNU-style hash table */
|
||||
|
||||
#define DT_VERSYM 0x6ffffff0 /* symbol version table */
|
||||
#define DT_VERDEF 0x6ffffffc /* version definition table */
|
||||
#define DT_VERDEFNUM 0x6ffffffd /* number of version definitions */
|
||||
|
||||
Reference in New Issue
Block a user