On Fri, Jul 29, 2011 at 10:28:28PM +0930, Alan Modra wrote:
> libgcc/
> * config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
> Restore for indirect call bcrtl from correct stack slot, and only
> if cfa+40 isn't valid.
> gcc/
> * config/rs6000/rs6000-protos.h
On Fri, Jul 29, 2011 at 09:16:09AM -0400, David Edelsohn wrote:
> Which has the problem? Which are you trying to solve? And how is
> your change solving it?
Michael's save_toc_in_prologue emit_frame_save writes unwind info for
the wrong frame. That r2 save is the current r2. What we need is
in
On Thu, Jul 28, 2011 at 9:27 PM, Alan Modra wrote:
> Right, but I was talking about the normal case, where the unwinder
> won't even look at .glink unwind info.
>
>> The whole problem is that toc pointer copy in 40(1) is only valid
>> during indirect call sequences, and iff ld inserted a stub? I
On Fri, Jul 29, 2011 at 10:57:48AM +0930, Alan Modra wrote:
> Except that any info about r2 in an indirect call sequence really
> belongs to the *called* function frame, not the callee. I woke up
> this morning with the realization that what I'd done in
> frob_update_context for indirect call sequ
On Thu, Jul 28, 2011 at 12:09:51PM -0700, Richard Henderson wrote:
> Well, even if we're not able to hoist the R2 store, we may be able
> to simply add REG_CFA_OFFSET and REG_CFA_RESTORE notes to the insns
> in the stream.
You'd need to mark every non-local call with something that says
R2 may be
On Thu, Jul 28, 2011 at 11:49:16AM -0700, Richard Henderson wrote:
> On 07/28/2011 12:27 AM, Alan Modra wrote:
> > On Wed, Jul 27, 2011 at 03:00:45PM +0930, Alan Modra wrote:
> >> Ideally what I'd like to
> >> do is have ld and gcc emit accurate r2 tracking unwind info and
> >> dispense with hacks
On 07/28/2011 12:02 PM, David Edelsohn wrote:
> The other problem is hoisting the store into the prologue is not
> always profitable for performance. It should be better once shrink
> wrapping is implemented. Currently the PPC ABI may perform a lot of
> stores in the prologue if the function *may
On Thu, Jul 28, 2011 at 2:49 PM, Richard Henderson wrote:
> The whole problem is that toc pointer copy in 40(1) is only valid
> during indirect call sequences, and iff ld inserted a stub? I.e.
> direct calls between functions that share toc pointers never save
> the copy?
>
> Would it make sense
On 07/28/2011 12:27 AM, Alan Modra wrote:
> On Wed, Jul 27, 2011 at 03:00:45PM +0930, Alan Modra wrote:
>> Ideally what I'd like to
>> do is have ld and gcc emit accurate r2 tracking unwind info and
>> dispense with hacks like frob_update_context. If ld did emit accurate
>> unwind info for .glink,
On Wed, Jul 27, 2011 at 03:00:45PM +0930, Alan Modra wrote:
> Ideally what I'd like to
> do is have ld and gcc emit accurate r2 tracking unwind info and
> dispense with hacks like frob_update_context. If ld did emit accurate
> unwind info for .glink, then the justification for frob_update_context
On Wed, Jul 27, 2011 at 1:30 AM, Alan Modra wrote:
> * config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
> Leave r2 REG_UNSAVED if stopped on the instruction that saves r2
> in a plt call stub. Do restore r2 if stopped on bctrl.
Okay.
Thanks, David
11 matches
Mail list logo