Current version does not maintain correct input section order, when sections are listed in linker script. Input sections always have the same order as in object files, which is not correct.
Consider this linker script
SECTIONS { .foo { *(.foo.*) *(.bar.*) } }
The result ELF image should have all .foo.* sections placed before all .bar.* sections. This patch implements this adding order value to SectionRule and then sorting input sections properly in case ScriptConfig->DoLayout is true