diff options
author | Shankar Easwaran <shankare@codeaurora.org> | 2013-04-29 04:10:42 +0000 |
---|---|---|
committer | Shankar Easwaran <shankare@codeaurora.org> | 2013-04-29 04:10:42 +0000 |
commit | cc06891c42da0612557871f1ed75a7b4631ba2b9 (patch) | |
tree | db6cc5a7572e7f60355ed593790820fed2acacec | |
parent | d846d9852e4fd63215ee3c24e048aba5bc0a87ab (diff) | |
download | bcm5719-llvm-cc06891c42da0612557871f1ed75a7b4631ba2b9.tar.gz bcm5719-llvm-cc06891c42da0612557871f1ed75a7b4631ba2b9.zip |
[lld][ELF] (no testable functionality change) resize the number of entries in the string table for static linking
llvm-svn: 180692
-rw-r--r-- | lld/include/lld/Core/File.h | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/Native/ReaderNative.cpp | 5 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp | 7 |
3 files changed, 11 insertions, 5 deletions
diff --git a/lld/include/lld/Core/File.h b/lld/include/lld/Core/File.h index 79d4f4f9014..4a90fd02fe4 100644 --- a/lld/include/lld/Core/File.h +++ b/lld/include/lld/Core/File.h @@ -104,6 +104,7 @@ public: virtual atom_iterator<T> end() const = 0; virtual const T *deref(const void *it) const = 0; virtual void next(const void *&it) const = 0; + virtual uint64_t size() const = 0; }; /// \brief The class is the iterator type used to iterate through a File's @@ -185,6 +186,8 @@ protected: it = reinterpret_cast<const void*>(p); } + virtual uint64_t size() const { return _atoms.size(); } + std::vector<const T *> _atoms; }; @@ -207,6 +210,7 @@ protected: virtual void push_back(const T *element) { llvm_unreachable("empty collection should never be grown"); } + virtual uint64_t size() const { return 0; } }; static atom_collection_empty<DefinedAtom> _noDefinedAtoms; diff --git a/lld/lib/ReaderWriter/Native/ReaderNative.cpp b/lld/lib/ReaderWriter/Native/ReaderNative.cpp index ac3cf3bfe41..41fc0eee7ce 100644 --- a/lld/lib/ReaderWriter/Native/ReaderNative.cpp +++ b/lld/lib/ReaderWriter/Native/ReaderNative.cpp @@ -758,8 +758,9 @@ private: p += _elementSize; it = reinterpret_cast<const void*>(p); } - const uint8_t* _arrayStart; - const uint8_t* _arrayEnd; + virtual uint64_t size() const { return _elementCount; } + const uint8_t *_arrayStart; + const uint8_t *_arrayEnd; uint32_t _elementSize; uint32_t _elementCount; }; diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp index c07bf56a345..747d1615673 100644 --- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp +++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp @@ -241,7 +241,8 @@ public: virtual void push_back(const T *element) { _atoms.push_back(element); } - std::vector<const T*> _atoms; + virtual uint64_t size() const { return _atoms.size(); } + std::vector<const T *> _atoms; }; /// Mapping of kind: field in yaml files. @@ -301,11 +302,11 @@ struct ScalarTraits<RefKind> { default: if (auto relocStr = info->_targetInfo.stringFromRelocKind(value)) out << *relocStr; - else + else out << "<unknown>"; break; } - } + } static StringRef input(StringRef scalar, void *ctxt, RefKind &value) { assert(ctxt != nullptr); |