From: Rafael Espindola Date: Fri, 4 Apr 2014 00:31:12 +0000 (+0000) Subject: Add an assert that this is only used with .o files. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=eec7d48f8ebff799bffabfa4aefcc67581274cba;p=oota-llvm.git Add an assert that this is only used with .o files. I am not sure how to get a relocation in a .dylib, but this function would return the wrong value if passed one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205592 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp index 7ce62eb2a44..ce4b3d5d0c1 100644 --- a/lib/Object/MachOObjectFile.cpp +++ b/lib/Object/MachOObjectFile.cpp @@ -784,8 +784,8 @@ void MachOObjectFile::moveRelocationNext(DataRefImpl &Rel) const { error_code MachOObjectFile::getRelocationAddress(DataRefImpl Rel, uint64_t &Res) const { - MachO::any_relocation_info RE = getRelocation(Rel); - uint64_t Offset = getAnyRelocationAddress(RE); + uint64_t Offset; + getRelocationOffset(Rel, Offset); DataRefImpl Sec; Sec.d.a = Rel.d.a; @@ -797,6 +797,8 @@ MachOObjectFile::getRelocationAddress(DataRefImpl Rel, uint64_t &Res) const { error_code MachOObjectFile::getRelocationOffset(DataRefImpl Rel, uint64_t &Res) const { + assert(getHeader().filetype == MachO::MH_OBJECT && + "Only implemented for MH_OBJECT"); MachO::any_relocation_info RE = getRelocation(Rel); Res = getAnyRelocationAddress(RE); return object_error::success;