================ @@ -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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits