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>
I don't think this change improves the code. You should keep this class a template class if you need something like this.