diff options
author | Stephen Hines <srhines@google.com> | 2015-07-17 22:48:14 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-07-17 22:48:14 +0000 |
commit | e3c7e902e67458a9915e36daee56cba3eb5a2cb1 (patch) | |
tree | 9187533dfdf5d6bc4ca0076c205c31d3db13e368 | |
parent | a4f6b394720472944b106ecee5f327cd87cda472 (diff) | |
parent | 9dcb2ce463749f7fc6e0876954ae23ba0b104154 (diff) | |
download | mclinker-e3c7e902e67458a9915e36daee56cba3eb5a2cb1.tar.gz |
am 9dcb2ce4: Merge "Cherry picked debug info fix from upstream MCLinker."
* commit '9dcb2ce463749f7fc6e0876954ae23ba0b104154':
Cherry picked debug info fix from upstream MCLinker.
-rw-r--r-- | lib/Target/AArch64/AArch64Relocator.cpp | 2 | ||||
-rw-r--r-- | lib/Target/ARM/ARMRelocator.cpp | 2 | ||||
-rw-r--r-- | lib/Target/Mips/MipsRelocator.cpp | 2 | ||||
-rw-r--r-- | lib/Target/X86/X86Relocator.cpp | 4 |
4 files changed, 5 insertions, 5 deletions
diff --git a/lib/Target/AArch64/AArch64Relocator.cpp b/lib/Target/AArch64/AArch64Relocator.cpp index 9f1e9b9..e59c112 100644 --- a/lib/Target/AArch64/AArch64Relocator.cpp +++ b/lib/Target/AArch64/AArch64Relocator.cpp @@ -405,7 +405,7 @@ uint32_t AArch64Relocator::getDebugStringOffset(Relocation& pReloc) const { << getName(pReloc.type()) << "mclinker@googlegroups.com"; if (pReloc.symInfo()->type() == ResolveInfo::Section) - return pReloc.target(); + return pReloc.target() + pReloc.addend(); else return pReloc.symInfo()->outSymbol()->fragRef()->offset() + pReloc.target() + pReloc.addend(); diff --git a/lib/Target/ARM/ARMRelocator.cpp b/lib/Target/ARM/ARMRelocator.cpp index 2605664..fd845cf 100644 --- a/lib/Target/ARM/ARMRelocator.cpp +++ b/lib/Target/ARM/ARMRelocator.cpp @@ -763,7 +763,7 @@ uint32_t ARMRelocator::getDebugStringOffset(Relocation& pReloc) const { << getName(pReloc.type()) << "mclinker@googlegroups.com"; if (pReloc.symInfo()->type() == ResolveInfo::Section) - return pReloc.target(); + return pReloc.target() + pReloc.addend(); else return pReloc.symInfo()->outSymbol()->fragRef()->offset() + pReloc.target() + pReloc.addend(); diff --git a/lib/Target/Mips/MipsRelocator.cpp b/lib/Target/Mips/MipsRelocator.cpp index d8039b7..701a876 100644 --- a/lib/Target/Mips/MipsRelocator.cpp +++ b/lib/Target/Mips/MipsRelocator.cpp @@ -687,7 +687,7 @@ uint32_t MipsRelocator::getDebugStringOffset(Relocation& pReloc) const { error(diag::unsupport_reloc_for_debug_string) << getName(pReloc.type()) << "mclinker@googlegroups.com"; if (pReloc.symInfo()->type() == ResolveInfo::Section) - return pReloc.target(); + return pReloc.target() + pReloc.addend(); else return pReloc.symInfo()->outSymbol()->fragRef()->offset() + pReloc.target() + pReloc.addend(); diff --git a/lib/Target/X86/X86Relocator.cpp b/lib/Target/X86/X86Relocator.cpp index b685d51..dc93dee 100644 --- a/lib/Target/X86/X86Relocator.cpp +++ b/lib/Target/X86/X86Relocator.cpp @@ -836,7 +836,7 @@ uint32_t X86_32Relocator::getDebugStringOffset(Relocation& pReloc) const { << getName(pReloc.type()) << "mclinker@googlegroups.com"; if (pReloc.symInfo()->type() == ResolveInfo::Section) - return pReloc.target(); + return pReloc.target() + pReloc.addend(); else return pReloc.symInfo()->outSymbol()->fragRef()->offset() + pReloc.target() + pReloc.addend(); @@ -1505,7 +1505,7 @@ uint32_t X86_64Relocator::getDebugStringOffset(Relocation& pReloc) const { << getName(pReloc.type()) << "mclinker@googlegroups.com"; if (pReloc.symInfo()->type() == ResolveInfo::Section) - return pReloc.target(); + return pReloc.target() + pReloc.addend(); else return pReloc.symInfo()->outSymbol()->fragRef()->offset() + pReloc.target() + pReloc.addend(); |