diff options
| author | Michael J. Spencer <bigcheesegs@gmail.com> | 2013-01-07 07:59:46 +0000 |
|---|---|---|
| committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2013-01-07 07:59:46 +0000 |
| commit | 00b702c95c4d0117f8119c5063575195c3a64438 (patch) | |
| tree | b9cdf5559dd9c4f8a8055c40c7d11cb02b729045 | |
| parent | c8a12cce981fb8302ba9ce89c450351d93b56888 (diff) | |
| download | bcm5719-llvm-00b702c95c4d0117f8119c5063575195c3a64438.tar.gz bcm5719-llvm-00b702c95c4d0117f8119c5063575195c3a64438.zip | |
[ELF] Change Segment to hold Chunks instead of Sections. No functionality change.
llvm-svn: 171708
| -rw-r--r-- | lld/lib/ReaderWriter/ELF/WriterELF.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lld/lib/ReaderWriter/ELF/WriterELF.cpp b/lld/lib/ReaderWriter/ELF/WriterELF.cpp index 74a8442936d..2dcbbce3ffb 100644 --- a/lld/lib/ReaderWriter/ELF/WriterELF.cpp +++ b/lld/lib/ReaderWriter/ELF/WriterELF.cpp @@ -641,7 +641,7 @@ template<support::endianness target_endianness, class SegmentSlice { public: typedef typename std::vector< - Section<target_endianness, max_align, is64Bits> *>::iterator sectionIter; + Chunk<target_endianness, max_align, is64Bits> *>::iterator sectionIter; SegmentSlice() { } @@ -721,7 +721,7 @@ public: typedef typename std::vector<SegmentSlice< target_endianness, max_align, is64Bits> *>::iterator slice_iter; typedef typename std::vector< - Section<target_endianness, max_align, is64Bits> *>::iterator SectionIter; + Chunk<target_endianness, max_align, is64Bits> *>::iterator SectionIter; Segment(const StringRef name, const ELFLayout::SegmentType type, @@ -894,7 +894,9 @@ public: virtualAddressSet = true; } (*si)->setVAddr(addr); - (*si)->assignVirtualAddress(addr); + if (auto s = + dyn_cast<Section<target_endianness, max_align, is64Bits>>(*si)) + s->assignVirtualAddress(addr); (*si)->setMemSize(addr - (*si)->virtualAddr()); } (*sei)->setMemSize(addr - (*sei)->virtualAddr()); @@ -956,7 +958,8 @@ public: } private: - std::vector<Section<target_endianness, max_align, is64Bits> *> _sections; + /// \brief Section or some other chunk type. + std::vector<Chunk<target_endianness, max_align, is64Bits> *> _sections; std::vector<SegmentSlice<target_endianness, max_align, is64Bits> *> _segmentSlices; ELFLayout::SegmentType _segmentType; |

