mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 06:33:24 +00:00
Expand relocation type field to 64 bits. MachO scattered relocations require 33 bits of type info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143032 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
929e27cc3c
commit
9472b8d220
@ -138,7 +138,7 @@ protected:
|
||||
virtual error_code getRelocationSymbol(DataRefImpl Rel,
|
||||
SymbolRef &Res) const;
|
||||
virtual error_code getRelocationType(DataRefImpl Rel,
|
||||
uint32_t &Res) const;
|
||||
uint64_t &Res) const;
|
||||
virtual error_code getRelocationTypeName(DataRefImpl Rel,
|
||||
SmallVectorImpl<char> &Result) const;
|
||||
virtual error_code getRelocationAdditionalInfo(DataRefImpl Rel,
|
||||
|
@ -81,7 +81,7 @@ protected:
|
||||
virtual error_code getRelocationSymbol(DataRefImpl Rel,
|
||||
SymbolRef &Res) const;
|
||||
virtual error_code getRelocationType(DataRefImpl Rel,
|
||||
uint32_t &Res) const;
|
||||
uint64_t &Res) const;
|
||||
virtual error_code getRelocationTypeName(DataRefImpl Rel,
|
||||
SmallVectorImpl<char> &Result) const;
|
||||
virtual error_code getRelocationAdditionalInfo(DataRefImpl Rel,
|
||||
|
@ -99,7 +99,7 @@ public:
|
||||
|
||||
error_code getAddress(uint64_t &Result) const;
|
||||
error_code getSymbol(SymbolRef &Result) const;
|
||||
error_code getType(uint32_t &Result) const;
|
||||
error_code getType(uint64_t &Result) const;
|
||||
|
||||
/// @brief Indicates whether this relocation should hidden when listing
|
||||
/// relocations, usually because it is the trailing part of a multipart
|
||||
@ -284,7 +284,7 @@ protected:
|
||||
virtual error_code getRelocationSymbol(DataRefImpl Rel,
|
||||
SymbolRef &Res) const = 0;
|
||||
virtual error_code getRelocationType(DataRefImpl Rel,
|
||||
uint32_t &Res) const = 0;
|
||||
uint64_t &Res) const = 0;
|
||||
virtual error_code getRelocationTypeName(DataRefImpl Rel,
|
||||
SmallVectorImpl<char> &Result) const = 0;
|
||||
virtual error_code getRelocationAdditionalInfo(DataRefImpl Rel,
|
||||
@ -474,7 +474,7 @@ inline error_code RelocationRef::getSymbol(SymbolRef &Result) const {
|
||||
return OwningObject->getRelocationSymbol(RelocationPimpl, Result);
|
||||
}
|
||||
|
||||
inline error_code RelocationRef::getType(uint32_t &Result) const {
|
||||
inline error_code RelocationRef::getType(uint64_t &Result) const {
|
||||
return OwningObject->getRelocationType(RelocationPimpl, Result);
|
||||
}
|
||||
|
||||
|
@ -623,7 +623,7 @@ error_code COFFObjectFile::getRelocationSymbol(DataRefImpl Rel,
|
||||
return object_error::success;
|
||||
}
|
||||
error_code COFFObjectFile::getRelocationType(DataRefImpl Rel,
|
||||
uint32_t &Res) const {
|
||||
uint64_t &Res) const {
|
||||
const coff_relocation* R = toRel(Rel);
|
||||
Res = R->Type;
|
||||
return object_error::success;
|
||||
|
@ -358,7 +358,7 @@ protected:
|
||||
virtual error_code getRelocationSymbol(DataRefImpl Rel,
|
||||
SymbolRef &Res) const;
|
||||
virtual error_code getRelocationType(DataRefImpl Rel,
|
||||
uint32_t &Res) const;
|
||||
uint64_t &Res) const;
|
||||
virtual error_code getRelocationTypeName(DataRefImpl Rel,
|
||||
SmallVectorImpl<char> &Result) const;
|
||||
virtual error_code getRelocationAdditionalInfo(DataRefImpl Rel,
|
||||
@ -923,7 +923,7 @@ error_code ELFObjectFile<target_endianness, is64Bits>
|
||||
template<support::endianness target_endianness, bool is64Bits>
|
||||
error_code ELFObjectFile<target_endianness, is64Bits>
|
||||
::getRelocationType(DataRefImpl Rel,
|
||||
uint32_t &Result) const {
|
||||
uint64_t &Result) const {
|
||||
const Elf_Shdr *sec = getSection(Rel.w.b);
|
||||
switch (sec->sh_type) {
|
||||
default :
|
||||
|
@ -634,7 +634,7 @@ error_code MachOObjectFile::getRelocationSymbol(DataRefImpl Rel,
|
||||
return object_error::success;
|
||||
}
|
||||
error_code MachOObjectFile::getRelocationType(DataRefImpl Rel,
|
||||
uint32_t &Res) const {
|
||||
uint64_t &Res) const {
|
||||
InMemoryStruct<macho::RelocationEntry> RE;
|
||||
getRelocation(Rel, RE);
|
||||
Res = RE->Word1;
|
||||
|
@ -394,7 +394,7 @@ void llvm::DisassembleInputMachO(StringRef Filename) {
|
||||
Sections[SectIdx].getAddress(SectionAddress);
|
||||
RelocOffset -= SectionAddress;
|
||||
|
||||
uint32_t RelocInfo;
|
||||
uint64_t RelocInfo;
|
||||
RI->getType(RelocInfo);
|
||||
|
||||
Relocs.push_back(std::make_pair(RelocOffset, RelocInfo));
|
||||
|
Loading…
x
Reference in New Issue
Block a user