summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Protivensky <dprotivensky@accesssoftek.com>2015-02-11 15:02:43 +0000
committerDenis Protivensky <dprotivensky@accesssoftek.com>2015-02-11 15:02:43 +0000
commitd6fe5b3005f5fbdd1c32d39b5c3e3379b97371e5 (patch)
tree3893ce4b0ec5e0951643ab8d81d8f5f011b6809b
parentafe251649b2bd3f68785570783153b9f5dafbc2c (diff)
downloadbcm5719-llvm-d6fe5b3005f5fbdd1c32d39b5c3e3379b97371e5.tar.gz
bcm5719-llvm-d6fe5b3005f5fbdd1c32d39b5c3e3379b97371e5.zip
[ELF][ARM] Fix veneer symbol names in Release build
The fix is for r228680. This makes tests also work. llvm-svn: 228837
-rw-r--r--lld/lib/ReaderWriter/ELF/ARM/ARMRelocationPass.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/lld/lib/ReaderWriter/ELF/ARM/ARMRelocationPass.cpp b/lld/lib/ReaderWriter/ELF/ARM/ARMRelocationPass.cpp
index d102f0e68bf..28638ec0154 100644
--- a/lld/lib/ReaderWriter/ELF/ARM/ARMRelocationPass.cpp
+++ b/lld/lib/ReaderWriter/ELF/ARM/ARMRelocationPass.cpp
@@ -74,12 +74,8 @@ public:
Alignment alignment() const override { return Alignment(2); }
-#ifndef NDEBUG
StringRef name() const override { return _name; }
std::string _name;
-#else
- StringRef name() const override { return ""; }
-#endif
};
/// \brief Atoms that hold veneer for statically relocated
@@ -275,11 +271,11 @@ public:
auto v = new (_file._alloc) Veneer_ARM_B_BL_StaticAtom(_file, secName);
v->addReferenceELF_ARM(R_ARM_ABS32, 4, da, 0);
-#ifndef NDEBUG
+
v->_name = "__";
v->_name += da->name();
v->_name += "_from_arm";
-#endif
+
_veneerMap[da] = v;
_veneerVector.push_back(v);
return v;
@@ -294,11 +290,11 @@ public:
auto v = new (_file._alloc) Veneer_THM_B_BL_StaticAtom(_file, secName);
v->addReferenceELF_ARM(R_ARM_JUMP24, 4, da, 0);
-#ifndef NDEBUG
+
v->_name = "__";
v->_name += da->name();
v->_name += "_from_thumb";
-#endif
+
_veneerMap[da] = v;
_veneerVector.push_back(v);
return v;
OpenPOWER on IntegriCloud