[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)
Fangrui Song via cfe-commits
cfe-commits at lists.llvm.org
Tue May 28 00:05:23 PDT 2024
================
@@ -474,9 +480,28 @@ struct Elf_Rel_Impl<ELFType<Endianness, true>, true>
: public Elf_Rel_Impl<ELFType<Endianness, true>, false> {
LLVM_ELF_IMPORT_TYPES(Endianness, true)
static const bool IsRela = true;
+ static const bool IsCrel = false;
Elf_Sxword r_addend; // Compute value for relocatable field by adding this.
};
+template <bool Is64> struct Elf_Crel_Impl {
+ using uint = std::conditional_t<Is64, uint64_t, uint32_t>;
----------------
MaskRay wrote:
Using Is64 instead of ELFType is intentional to avoid unneeded endianness difference. The structure is for in-memory representation and has no endianness difference.
I added a comment before `struct Elf_Crel_Impl`.
https://github.com/llvm/llvm-project/pull/91280
More information about the cfe-commits
mailing list