diff options
author | Fangrui Song <i@maskray.me> | 2022-01-17 10:25:07 -0800 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2022-01-17 10:25:07 -0800 |
commit | ac0986f88058b5d82559ca84c607c7a664827cbc (patch) | |
tree | f3e1aa0c822c39ed9d176cb650bf270e6f01351c /lld/ELF/SyntheticSections.cpp | |
parent | 5acd6e05221574643feb8477ad07e89fd766ec53 (diff) | |
download | llvm-ac0986f88058b5d82559ca84c607c7a664827cbc.zip llvm-ac0986f88058b5d82559ca84c607c7a664827cbc.tar.gz llvm-ac0986f88058b5d82559ca84c607c7a664827cbc.tar.bz2 |
[ELF] Change std::vector<InputSectionBase *> to SmallVector
There is no remaining std::vector<InputSectionBase> now. My x86-64 lld
executable is 2KiB small.
Diffstat (limited to 'lld/ELF/SyntheticSections.cpp')
-rw-r--r-- | lld/ELF/SyntheticSections.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lld/ELF/SyntheticSections.cpp b/lld/ELF/SyntheticSections.cpp index 3e67735..c1eb53e 100644 --- a/lld/ELF/SyntheticSections.cpp +++ b/lld/ELF/SyntheticSections.cpp @@ -171,7 +171,7 @@ MipsOptionsSection<ELFT> *MipsOptionsSection<ELFT>::create() { if (!ELFT::Is64Bits) return nullptr; - std::vector<InputSectionBase *> sections; + SmallVector<InputSectionBase *, 0> sections; for (InputSectionBase *sec : inputSections) if (sec->type == SHT_MIPS_OPTIONS) sections.push_back(sec); @@ -228,7 +228,7 @@ MipsReginfoSection<ELFT> *MipsReginfoSection<ELFT>::create() { if (ELFT::Is64Bits) return nullptr; - std::vector<InputSectionBase *> sections; + SmallVector<InputSectionBase *, 0> sections; for (InputSectionBase *sec : inputSections) if (sec->type == SHT_MIPS_REGINFO) sections.push_back(sec); @@ -550,9 +550,9 @@ void EhFrameSection::finalizeContents() { // Returns data for .eh_frame_hdr. .eh_frame_hdr is a binary search table // to get an FDE from an address to which FDE is applied. This function // returns a list of such pairs. -std::vector<EhFrameSection::FdeData> EhFrameSection::getFdeData() const { +SmallVector<EhFrameSection::FdeData, 0> EhFrameSection::getFdeData() const { uint8_t *buf = Out::bufferStart + getParent()->offset + outSecOff; - std::vector<FdeData> ret; + SmallVector<FdeData, 0> ret; uint64_t va = getPartition().ehFrameHdr->getVA(); for (CieRecord *rec : cieRecords) { @@ -3030,8 +3030,7 @@ void EhFrameHeader::writeTo(uint8_t *buf) { void EhFrameHeader::write() { uint8_t *buf = Out::bufferStart + getParent()->offset + outSecOff; using FdeData = EhFrameSection::FdeData; - - std::vector<FdeData> fdes = getPartition().ehFrame->getFdeData(); + SmallVector<FdeData, 0> fdes = getPartition().ehFrame->getFdeData(); buf[0] = 1; buf[1] = DW_EH_PE_pcrel | DW_EH_PE_sdata4; |