mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
[RuntimeDyld] Allow processRelocationRef to process more than one relocation entry at a time.
Some targets require more than one relocation entry to perform a relocation. This change allows processRelocationRef to process more than one relocation entry at a time by passing the relocation iterator itself instead of just the relocation entry. Related to <rdar://problem/16199095> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204439 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -91,6 +91,7 @@ protected:
|
||||
bool &Result) const override;
|
||||
relocation_iterator section_rel_begin(DataRefImpl Sec) const override;
|
||||
relocation_iterator section_rel_end(DataRefImpl Sec) const override;
|
||||
bool section_rel_empty(DataRefImpl Sec) const override;
|
||||
section_iterator getRelocatedSection(DataRefImpl Sec) const override;
|
||||
|
||||
void moveRelocationNext(DataRefImpl &Rel) const override;
|
||||
@ -557,6 +558,12 @@ ELFObjectFile<ELFT>::section_rel_end(DataRefImpl Sec) const {
|
||||
return relocation_iterator(RelocationRef(RelData, this));
|
||||
}
|
||||
|
||||
template <class ELFT>
|
||||
bool ELFObjectFile<ELFT>::section_rel_empty(DataRefImpl Sec) const {
|
||||
const Elf_Shdr *S = reinterpret_cast<const Elf_Shdr *>(Sec.p);
|
||||
return S->sh_size == 0;
|
||||
}
|
||||
|
||||
template <class ELFT>
|
||||
section_iterator
|
||||
ELFObjectFile<ELFT>::getRelocatedSection(DataRefImpl Sec) const {
|
||||
|
Reference in New Issue
Block a user