diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-10-23 21:48:05 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-10-23 21:48:05 +0000 |
commit | 21956e4007c21fd737c3548f7812a2c47adaf588 (patch) | |
tree | 616d874a12844107ae8d5edd12bff7638404b955 /llvm/lib/MC/ELFObjectWriter.cpp | |
parent | 803195ed6df7b7d983d800233d77afe0767ba69b (diff) | |
download | bcm5719-llvm-21956e4007c21fd737c3548f7812a2c47adaf588.tar.gz bcm5719-llvm-21956e4007c21fd737c3548f7812a2c47adaf588.zip |
Add a RAW mode to StringTableBuilder.
In this mode it just tries to tail merge the strings without imposing any other
format constrains. It will not, for example, add a null byte between them.
Also add support for keeping a tentative size and offset if we decide to
not optimize after all.
This will be used shortly in lld for merging SHF_STRINGS sections.
llvm-svn: 251153
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 5fdfcf9ef2d..230d3d775b1 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -109,7 +109,7 @@ class ELFObjectWriter : public MCObjectWriter { BumpPtrAllocator Alloc; StringSaver VersionSymSaver{Alloc}; - StringTableBuilder StrTabBuilder; + StringTableBuilder StrTabBuilder{StringTableBuilder::ELF}; /// @} @@ -880,7 +880,7 @@ void ELFObjectWriter::computeSymbolTable( for (const std::string &Name : FileNames) StrTabBuilder.add(Name); - StrTabBuilder.finalize(StringTableBuilder::ELF); + StrTabBuilder.finalize(); for (const std::string &Name : FileNames) Writer.writeSymbol(StrTabBuilder.getOffset(Name), |