This is the latest rebased Range Thunk implementation in full, with tests. The purpose of doing this is for a convenient way to (hopefully) get a downstream ARM lld that will not suffer from relocation out of range errors. This is not intended to be reviewed for upstream, instead it will need breaking up into smaller patches for review. I will abandon the review after it has been created.
It contains all the patches that are currently in review + everything that I haven't posted yet. I intend to post the individual patches for review later in the week (didn't have time today).
The initial implementation is intended to be simple rather than optimized for minimum number of thunks.
It has not been extensively tested on real-world programs, especially embedded programs with nasty linker scripts.