search for: thunks

Displaying 20 results from an estimated 417 matches for "thunks".

Did you mean: thanks
2017 Jan 04
5
RFC: LLD range extension thunks
I'm about to start working on range extension thunks in lld. This is an attempt to summarize the approach I'd like to take and what the impact will be on lld outside of thunks. I'm interested if anyone has any constraints the approach will break, alternative suggestions, or is working on something I'll need to take account of? I expect r...
2017 Jan 05
2
RFC: LLD range extension thunks
Hello Rui, Thanks for the comments - Synthetic sections and rewriting relocations I think that this would definitely be worth trying. It should remove the need for thunks to be represented in the core data structures, and would allow . It would also mean that we wouldn't have to associate symbols with thunks as the relocations would directly target the thunks. ARM interworking makes reusing thunks more difficult as not every thunk is compatible with every calle...
2017 Jan 06
3
RFC: LLD range extension thunks
...8:15 PM, Peter Smith <peter.smith at linaro.org> > wrote: > >> Hello Rui, >> >> Thanks for the comments >> >> - Synthetic sections and rewriting relocations >> I think that this would definitely be worth trying. It should remove >> the need for thunks to be represented in the core data structures, and >> would allow . >> > > Creating symbols for thunks would have another benefit: it makes > disassembled output easier to read because thunks have names. > > >> It would also mean that we wouldn't have to associa...
2017 Jan 06
2
RFC: LLD range extension thunks
...te: >>> >>>> Hello Rui, >>>> >>>> Thanks for the comments >>>> >>>> - Synthetic sections and rewriting relocations >>>> I think that this would definitely be worth trying. It should remove >>>> the need for thunks to be represented in the core data structures, and >>>> would allow . >>>> >>> >>> Creating symbols for thunks would have another benefit: it makes >>> disassembled output easier to read because thunks have names. >>> >>> >>...
2016 Jun 22
2
[LLD] thunk implementation correctness depends on order of input section.
...that we are not serious about reusing it. Probably the > name given to it ("thunk") is too generic -- maybe we should rename it > MipsLA25Thunk or something like that. I think you want to create a new type > of thunk for ARM. > > The bug that we sometimes create broken MIPS thunks seems to have introduced > in r265673 which Rafael made. Before that patch, we didn't assume that > section VAs are available in scanRelocs. I think we want to revert that > change (although it cannot simply be reverted because the patch was > submitted in April, and many changes ha...
2016 Jun 21
2
[LLD] thunk implementation correctness depends on order of input section.
I've been working on supporting ARM/Thumb interworking thunks in LLD and have encountered a limitation that I think it is worth bringing up in a wider context. This is all LLD specific, apologies if I've abused llvm-dev here. TL;DR summary: - Thunks in lld may not work if they are added to InputSections that have already been scanned. - There is a short...
2017 Apr 04
2
[LLD] RFC Range Thunks Implementation review for ARM and Mips
This RFC is primarily to support the review of the range extension thunks implementation of lld. This concerns ARM and Mips as all of the thunk creation step is skipped over if the target doesn't need thunks. Mips LA25 Thunks are not range extension Thunks but these are generated using the same code, I've kept the behaviour the same as it is now, although the im...
2016 Sep 07
5
[LLD] Writing thunks before the corresponding section
...f a PIC function requires the thunk is the first routine in a section, we can optimize the code and escape jump instruction. To do so we just write the following thunk right before the PIC routine. lui $25, %hi(func) addiu $25, $25, %lo(func) In fact GNU bfd/gold linkers write all MIPS LA25 thunks required for the section "A" into a separate input section "S" and put section "S" before "A". The last thunk in the section "S" might have an optimized two-instructions form. I would like to implement such optimization in LLD. My question is about...
2016 Nov 29
2
[LLD] Writing thunks before the corresponding section
Hi, Sorry for delay with reply. It looks like now thunks can be implemented as a synthetic sections. In that case we give flexible solution and will be able to put thunks before/after related sections, using different alignment etc. As far as I know BFD linker uses the same approach at least for MIPS thunks. I will try to implement this idea. On Thu...
2004 Sep 22
1
Problem compiling Corel-WINE
In reference to an old posting: we managed to get a copy of the final CVS Corel-WINE code. I am trying to compile it with GCC-3.3.4. I realize that this might not work as I had to hunt down three patches on Google to build GLibc-2.3.1 with that GCC version. NOTE: for those that don't know, GLibc-2.3.1 is the last version of GLibc that Corel-WINE will work with. So, I was building
2017 Jan 18
4
RFC: LLD range extension thunks
On Jan 19, 2017 2:48 AM, "Ed Maste" <emaste at freebsd.org> wrote: On 4 January 2017 at 13:34, Peter Smith via llvm-dev <llvm-dev at lists.llvm.org> wrote: > I'm about to start working on range extension thunks in lld. This is > an attempt to summarize the approach I'd like to take and what the > impact will be on lld outside of thunks. Now that LLD works well for FreeBSD/amd64 (and arm64 is very close) I'm looking at other architectures, starting with mips64. The statically-linked tool...
2016 Nov 30
0
[LLD] Writing thunks before the corresponding section
Sure. One thing I want to remind you is that there is a place in Writer.cpp where we assume all synthetic sections were appended to end of Sections list. Look for `llvm::reverse`. If you add synthetic section thunks right before/after non-synthetic sections, you also want to change that. On Tue, Nov 29, 2016 at 1:18 PM, Simon Atanasyan <simon at atanasyan.com> wrote: > Hi, > > Sorry for delay with reply. > > It looks like now thunks can be implemented as a synthetic sections. > In...
2011 Jan 31
3
[LLVMdev] Compile function with limited set of registers? Jump to another function?
...- jump, not call, to another function leaving any received parameters >>> unchanged in registers and on stack? >>> >>> Thanks, >>> -- James Williams >>> >>> Background: >>> >>> I'm looking for some advice on implementing thunks required by my >>> language's interface call mechanism. This is a fairly conventional >>> arrangement where method selectors in interfaces are hashed to determine >>> their index within a vtable and hash collisions are disambiguated at runtime >>> by a thunk,...
2011 Jan 31
0
[LLVMdev] Compile function with limited set of registers? Jump to another function?
...function leaving any received parameters >>>> unchanged in registers and on stack? >>>> >>>> Thanks, >>>> -- James Williams >>>> >>>> Background: >>>> >>>> I'm looking for some advice on implementing thunks required by my >>>> language's interface call mechanism. This is a fairly conventional >>>> arrangement where method selectors in interfaces are hashed to determine >>>> their index within a vtable and hash collisions are disambiguated at runtime >>>...
2018 Feb 03
4
retpoline mitigation and 6.0
...t; understatement... Two aspects to this... One, we're somewhat reluctant to guarantee an ABI here. At least I am. While we don't *expect* rampant divergence here, I don't want this to become something we cannot change if there are good reasons to do so. We've already changed the thunks once based on feedback (putting LFENCE after the PAUSE). Given that we don't want this to be a guaranteed part of the ABI, I really want the thunk names to be specific about which implementation is being used. For example, if we come up with a new, better thunk interface, we would want to give...
2018 Feb 03
2
retpoline mitigation and 6.0
...; > > > One, we're somewhat reluctant to guarantee an ABI here. At least I > > am. While we don't *expect* rampant divergence here, I don't want > > this to become something we cannot change if there are good reasons > > to do so. We've already changed the thunks once based on feedback > > (putting LFENCE after the PAUSE). > > Surely adding the lfence was changing your implementation, not the ABI? > > And if we really are talking about the *ABI* not the implementation, > I'm not sure I understand your concern. > > The ABI for...
2011 Feb 02
1
[LLVMdev] Compile function with limited set of registers? Jump to another function?
...rameters >>>>> unchanged in registers and on stack? >>>>> >>>>> Thanks, >>>>> -- James Williams >>>>> >>>>> Background: >>>>> >>>>> I'm looking for some advice on implementing thunks required by my >>>>> language's interface call mechanism. This is a fairly conventional >>>>> arrangement where method selectors in interfaces are hashed to determine >>>>> their index within a vtable and hash collisions are disambiguated at runtime...
2011 Jan 31
1
[LLVMdev] Fw: Compile function with limited set of registers? Jump to another function?
...t;>unchanged in registers and on stack? >>>>>> >>>>>>Thanks, >>>>>>-- James Williams >>>>>> >>>>>>Background: >>>>>> >>>>>>I'm looking for some advice on implementing thunks required by my language's >>>>>>interface call mechanism. This is a fairly conventional arrangement where method >>>>>>selectors in interfaces are hashed to determine their index within a vtable and >>>>>>hash collisions are disambiguated...
2014 Oct 09
2
[LLVMdev] PSA: Perfectly forwarding thunks can now be expressed in LLVM IR with musttail and varargs
On 8 Oct 2014, at 18:19, Reid Kleckner <rnk at google.com> wrote: > The one target I know about where varargs are passed differently from normal arguments is aarch64-apple-ios/macosx. After thinking a bit more, I think this forwarding thunk representation works fine even on that target. Typically a forwarding thunk is called indirectly, or at least through a bitcast, so the LLVM IR
2018 Feb 03
0
retpoline mitigation and 6.0
...o aspects to this... > > One, we're somewhat reluctant to guarantee an ABI here. At least I > am. While we don't *expect* rampant divergence here, I don't want > this to become something we cannot change if there are good reasons > to do so. We've already changed the thunks once based on feedback > (putting LFENCE after the PAUSE). Surely adding the lfence was changing your implementation, not the ABI? And if we really are talking about the *ABI* not the implementation, I'm not sure I understand your concern. The ABI for each thunk is that it is identical in...