[llvm] [llvm-readobj][AArch64][ELF][PAC] Support ELF AUTH constants (PR #72713)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 4 11:51:21 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)
----------------
MaskRay wrote:
For this case, I think it is better to do
```
if (emachine == EM_AARCH64 && xxx == ELF::DT_AARCH64_AUTH_RELRSZ) {
DynRelrRegion.Size = Dyn.getVal();
DynRelrRegion.SizePrintName = "DT_AARCH64_AUTH_RELRSZ value";
continue;
}
switch (Dyn.d_tag) {
...
}
```
If emachine is not EM_AARCH64, `DT_AARCH64_AUTH_RELRSZ` is not defined.
https://github.com/llvm/llvm-project/pull/72713
More information about the llvm-commits
mailing list