This patch implements optimizations for the zcmt extension in lld.
A new TableJumpSectio has been added.
Scans each R_RISCV_CALL/R_RISCV_CALL_PLT relocType in each section before the linker relaxation, recording the name of the symbol.
In finalizeContents the recorded symbol names are sorted in descending order by the number of jumps.
Optimise and insert a new cm.jt/cm.jalt during the relax process. in the process, we reused the`R_RISCV_JAL` relocType
co-author: @ScottEgerton
These are extremely dodgy