[llvm] [llvm-readobj][AArch64][ELF][PAC] Support ELF AUTH constants (PR #72713)
Daniil Kovalev via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 4 02:14:40 PST 2023
================
@@ -2086,21 +2086,34 @@ template <typename ELFT> void ELFDumper<ELFT>::parseDynamicTable() {
break;
case ELF::DT_RELR:
case ELF::DT_ANDROID_RELR:
+ case ELF::DT_AARCH64_AUTH_RELR:
DynRelrRegion.Addr = toMappedAddr(Dyn.getTag(), Dyn.getPtr());
break;
case ELF::DT_RELRSZ:
case ELF::DT_ANDROID_RELRSZ:
+ case ELF::DT_AARCH64_AUTH_RELRSZ:
DynRelrRegion.Size = Dyn.getVal();
- DynRelrRegion.SizePrintName = Dyn.d_tag == ELF::DT_RELRSZ
- ? "DT_RELRSZ value"
- : "DT_ANDROID_RELRSZ value";
+ if (Dyn.d_tag == ELF::DT_RELRSZ)
+ DynRelrRegion.SizePrintName = "DT_RELRSZ value";
+ else if (Dyn.d_tag == ELF::DT_ANDROID_RELRSZ)
+ DynRelrRegion.SizePrintName = "DT_ANDROID_RELRSZ value";
+ else if (Dyn.d_tag == ELF::DT_AARCH64_AUTH_RELRSZ)
+ DynRelrRegion.SizePrintName = "DT_AARCH64_AUTH_RELRSZ value";
+ else
+ llvm_unreachable("unexpected Dyn.d_tag value");
break;
case ELF::DT_RELRENT:
case ELF::DT_ANDROID_RELRENT:
+ case ELF::DT_AARCH64_AUTH_RELRENT:
DynRelrRegion.EntSize = Dyn.getVal();
- DynRelrRegion.EntSizePrintName = Dyn.d_tag == ELF::DT_RELRENT
- ? "DT_RELRENT value"
- : "DT_ANDROID_RELRENT value";
+ if (Dyn.d_tag == ELF::DT_RELRENT)
----------------
kovdan01 wrote:
See the comment above
https://github.com/llvm/llvm-project/pull/72713
More information about the llvm-commits
mailing list