search for: createthunks

Displaying 6 results from an estimated 6 matches for "createthunks".

2017 Apr 04
2
[LLD] RFC Range Thunks Implementation review for ARM and Mips
...- Many architectures with fixed instruction width have a branch instruction that has a limited range - On ARM and AArch64 the static linker is expected to insert range extension thunks when some classes of branch instruction are out of range Where are we now with LLD and thunks - We have moved the createThunks() function as late as it can be in finalizeSections(), most importantly after all the content has been added to the image. - We only call createThunks() once and we don't calculate addresses before createThunks(). - If an OutputSection is described by a LinkerScript then any thunks created in i...
2017 Apr 05
4
[LLD] RFC Range Thunks Implementation review for ARM and Mips
...afael EspĂ­ndola via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > Proposed implementation for range extension thunks > > At a high-level we need to solve the following problems: > > - Assign addresses more than once > > - Maintain state between successive calls of createThunks() > > - Synchronization of the linker script and the OutputSection after > adding thunks > > This last past seems to be the messier. The issue is not with the > patch, is with the existing infrastructure that uses a completely > different representation for linker scripts and n...
2017 Apr 06
2
[LLD] RFC Range Thunks Implementation review for ARM and Mips
On 6 April 2017 at 07:01, Peter Smith <peter.smith at linaro.org> wrote: > My understanding is that this would be (initially) limited to > fabricating enough linker script commands such that we could replace: > fixSectionAlignments() > assignAddresses() > Script->processNonSectionCommands() > > With something like: > Script->assignAddresses() // Could be done
2017 Jul 11
8
[LLD] Linker Relaxation
...ming that if you are doing some kind of range based relaxation > you'll need something like range extension thunks (I'm working on > these right now) this means you'll probably have to do your > calculations on what you can relax in finalizeSections() at a similar > point to createThunks(), or perhaps the mechanisms would need to be > merged as I think they'll need to converge on a point when no more > relaxations are possible and no more thunks can be added. > > Writing out the relaxed sections will be interesting as you won't want > all of the InputSectionC...
2017 Jul 11
2
[LLD] Linker Relaxation
Hi, Does lld support linker relaxation that may shrink code size? As far as I see lld seems to assume that the content of input sections to be fixed other than patching up relocations, but I believe some targets may benefit the extra optimization opportunity with relaxation. Specifically, I'm currently working on adding support for RISC-V in lld, and RISC-V heavily relies on linker relaxation
2017 Jul 11
4
[LLD] Linker Relaxation
...kind of range based relaxation >>> you'll need something like range extension thunks (I'm working on >>> these right now) this means you'll probably have to do your >>> calculations on what you can relax in finalizeSections() at a similar >>> point to createThunks(), or perhaps the mechanisms would need to be >>> merged as I think they'll need to converge on a point when no more >>> relaxations are possible and no more thunks can be added. >>> >>> Writing out the relaxed sections will be interesting as you won't wa...