diff options
| author | Nick Kledzik <kledzik@apple.com> | 2014-06-30 20:44:47 +0000 |
|---|---|---|
| committer | Nick Kledzik <kledzik@apple.com> | 2014-06-30 20:44:47 +0000 |
| commit | b201cf8883a8669c78f20533a2c47b6a92142a78 (patch) | |
| tree | 41245c0c9843caa130eedac1baed6eecd5675cf6 | |
| parent | cdb4e64a20cd4c0bf6838234f5d11cc12ef6df74 (diff) | |
| download | bcm5719-llvm-b201cf8883a8669c78f20533a2c47b6a92142a78.tar.gz bcm5719-llvm-b201cf8883a8669c78f20533a2c47b6a92142a78.zip | |
[mach-o] x86_64 relocation code review fixes
llvm-svn: 212068
| -rw-r--r-- | lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp | 5 | ||||
| -rw-r--r-- | lld/lib/ReaderWriter/MachO/ReferenceKinds.cpp | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp b/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp index 56c5f44829e..417cabc7d75 100644 --- a/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp +++ b/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp @@ -405,7 +405,7 @@ std::error_code processSection(DefinedAtom::ContentType atomType, size = is64 ? 32 : 20; break; case atomizeCFString: - // Break section up into compact unwind entries. + // Break section up into NS/CFString objects. size = is64 ? 32 : 16; break; case atomizeAtSymbols: @@ -505,8 +505,7 @@ std::error_code convertRelocs(const Section §ion, MachODefinedAtom *inAtom = file.findAtomCoveringAddress(section, reloc.offset, &offsetInAtom); - if (!inAtom) - return make_dynamic_error_code(Twine("no atom at r_address")); + assert(inAtom && "r_address in range, should have found atom"); uint64_t fixupAddress = section.address + reloc.offset; const lld::Atom *target = nullptr; diff --git a/lld/lib/ReaderWriter/MachO/ReferenceKinds.cpp b/lld/lib/ReaderWriter/MachO/ReferenceKinds.cpp index cb4502030b8..fe9caec5c7d 100644 --- a/lld/lib/ReaderWriter/MachO/ReferenceKinds.cpp +++ b/lld/lib/ReaderWriter/MachO/ReferenceKinds.cpp @@ -135,7 +135,7 @@ const Registry::KindStrings KindHandler_x86_64::kindStrings[] = { LLD_KIND_STRING_ENTRY(delta64Anon), LLD_KIND_STRING_END }; - + bool KindHandler_x86_64::isCallSite(const Reference &ref) { if (ref.kindNamespace() != Reference::KindNamespace::mach_o) return false; @@ -147,7 +147,8 @@ bool KindHandler_x86_64::isPointer(const Reference &ref) { if (ref.kindNamespace() != Reference::KindNamespace::mach_o) return false; assert(ref.kindArch() == Reference::KindArch::x86_64); - return (ref.kindValue() == pointer64); + Reference::KindValue kind = ref.kindValue(); + return (kind == pointer64 || kind == pointer64Anon); } bool KindHandler_x86_64::isLazyImmediate(const Reference &ref) { |

