rtld started to support DT_GNU_HASH since rS234841 (2013).
libexec/rtld-elf/rtld.c:symlook_obj uses DT_GNU_HASH when it is present and ignores DT_HASH.
This saves a few hundreds bytes to a few kilobytes for typical executables. (DT_HASH is usually larger than DT_GNU_HASH because it does not skip undefined dynsym entries)
Change the ArchType check with explicit getTripe().isMIPS().
According to atanasyan, ".gnu.hash and the MIPS ABI require .dynsym to be sorted in different ways" so they may not be compatible.
I can't find rationale behind the MIPS discrepancy in the original commit. I can add the if branch back if you tell me why...