This is an archive of the discontinued LLVM Phabricator instance.

[ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections.
AbandonedPublic

Authored by grimar on Mar 29 2017, 9:16 AM.

Details

Reviewers
ruiu
rafael
Summary

GnuHashTableSection and SymbolTableSection
are dependent on each other, it is easier to detemplate them together at once.

Detemplation of SymbolTableSection allows to detemplate elf::addSyntheticLocal<ELFT>,
which opens road to to demplate next things then:

  • ARMToThumbV7PILongThunk<ELFT>
  • ARMToThumbV7ABSLongThunk<ELFT>
  • ThumbToARMV7PILongThunk<ELFT>
  • ThumbToARMV7ABSLongThunk<ELFT>
  • MipsThunk<ELFT>
  • addThunkArm()
  • addThunk();

Next sections should are easier to detemplate too:

  • RelocationSection<ELFT>
  • HashTableSection<ELFT>
  • VersionTableSection<ELFT>
  • VersionDefinitionSection<ELFT>
  • VersionNeedSection<ELFT>

Diff Detail

Event Timeline

grimar created this revision.Mar 29 2017, 9:16 AM
ruiu added inline comments.Mar 29 2017, 12:59 PM
ELF/SyntheticSections.cpp
1353

I don't think this change improves the code. You should keep this class a template class if you need something like this.

grimar abandoned this revision.Mar 30 2017, 1:34 AM
grimar added inline comments.
ELF/SyntheticSections.cpp
1353

That probably means stop of synthetic sections detemplation as they depends on these sections.