[dwarfdump][AMDGPU] Support EF_AMDGPU_MACH_NONE
A quirk of the AMDGPU backend is EF_AMDGPU_MACH_NONE, which is not specific to the r600 or amdgcn architecture, but can be combined with either. AMDGPU ELF code objects with this mach value cannot be mapped back to a Triple architecture, as it could be either r600 or amdgcn. For llvm-dwarfdump this means the normal method of inspecting ObjectFile::getArch to determine how to handle relocations is insufficient. This patch adds an extra check for ELF code objects which would otherwise be categorized as UnknownArch, making it possible to use llvm-dwarfdump with them. For completeness it also adds support for known r600 machines. This also adds specific tests for llvm-dwarfdump for amdgcn and r600, both with known and unknown mach values. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D144301
Loading
Please sign in to comment