The elf-knowledge.h contains various macros to deal with specific ELF
knowledge needed to interpret some ELF constructs that can be ambigious
depending on architecture ABI. Update the comment of SH_ENTSIZE_HASH
to add a more technical description of why it is needed.
Signed-off-by: Mark Wielaard <mark@klomp.org>
+2020-11-06 Mark Wielaard <mark@klomp.org>
+
+ * elf-knowledge.h (SH_ENTSIZE_HASH): Update comment.
+
2020-11-01 Mark Wielaard <mark@klomp.org>
* elf_strptr.c (elf_strptr): Check shdr is not NULL.
Several years later the ABI for the 64-bit S390s was developed.
Many things were copied from the IA-64 ABI (which uses the correct
- 32-bit entry size) but what do these people do? They use 64-bit
- entries. It is really shocking to see what kind of morons are out
- there. And even worse: they are allowed to design ABIs. */
+ 32-bit entry size) but it does get the SHT_HASH entry size wrong by
+ using a 64-bit entry size. So now we need this macro to special
+ case both the alpha and s390x ABIs. */
#define SH_ENTSIZE_HASH(Ehdr) \
((Ehdr)->e_machine == EM_ALPHA \
|| ((Ehdr)->e_machine == EM_S390 \