2 ms·
That's a poor argument because, even going strictly by the specification, DT_HASH isn't authoritative--the symbol table is provided by DT_SYMTAB. Personally, I
by jcranmer 4y ago
That's a poor argument because, even going strictly by the specification, DT_HASH isn't authoritative--the symbol table is provided by DT_SYMTAB.
Personally, I feel that by the time you're messing with the _DYNAMIC entries of an ELF file, you need to be prepared to actually follow and keep up with ELF handling rules. Deleting DT_HASH feels no different than, say, changing the format of the structure pointed to by DT_DEBUG, which happened just last year (https://sourceware.org/bugzilla/show_bug.cgi?id=15971 https://sourceware.org/bugzilla/show_bug.cgi?id=15971, https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a93d9e03a31ec14405cb3a09aa95413b67067380 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a93d9e03...). Which, you know, breaks debuggers--but no one's running around saying "oh no glibc's ABI story is complete and utter trash!" because of that change (I daresay most of the people commenting on this issue aren't even aware that it happened).