summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2015-07-17 22:48:14 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-07-17 22:48:14 +0000
commite3c7e902e67458a9915e36daee56cba3eb5a2cb1 (patch)
tree9187533dfdf5d6bc4ca0076c205c31d3db13e368
parenta4f6b394720472944b106ecee5f327cd87cda472 (diff)
parent9dcb2ce463749f7fc6e0876954ae23ba0b104154 (diff)
downloadmclinker-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.cpp2
-rw-r--r--lib/Target/ARM/ARMRelocator.cpp2
-rw-r--r--lib/Target/Mips/MipsRelocator.cpp2
-rw-r--r--lib/Target/X86/X86Relocator.cpp4
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();