From 90c49c037e3334c9a1545e13377ca228a9d80bbb 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. llvm-svn: 143035 --- llvm/lib/Object/MachOObjectFile.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index 82b9231ed8d8..97eb52d70d0e 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/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";