From ef22f78c68d3f096b3c8aac2752ca8e3e25106a6 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Wed, 26 Oct 2011 17:28:49 +0000 Subject: [PATCH] The order of the two symbol listings in a Macho x86_64 subtractor relocation is reversed from what seems intuitive to me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143035 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Object/MachOObjectFile.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp index 82b9231ed8d..97eb52d70d0 100644 --- a/lib/Object/MachOObjectFile.cpp +++ b/lib/Object/MachOObjectFile.cpp @@ -835,7 +835,9 @@ error_code MachOObjectFile::getRelocationValueString(DataRefImpl Rel, if (error_code ec = getRelocationTargetName(RENext->Word1, SucName)) report_fatal_error(ec.message()); - fmt << Name << "-" << SucName; + // The X86_64_RELOC_UNSIGNED contains the minuend symbol, + // X86_64_SUBTRACTOR contains to the subtrahend. + fmt << SucName << "-" << Name; } case 6: // X86_64_RELOC_SIGNED1 fmt << Name << "-1";