linux-mips
[Top] [All Lists]

Re: [patch] fix profiling in glibc for Linux/MIPS

To: linux-mips@oss.sgi.com
Subject: Re: [patch] fix profiling in glibc for Linux/MIPS
From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>
Date: Fri, 27 Jul 2001 02:48:20 +0200
In-reply-to: <20010726103922.A6643@nevyn.them.org>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.3.18i
Daniel Jacobowitz wrote:
> _mcount was doing awful things to its caller's stack frame.

Maybe I'm missing something, but both the old and the new code
add 8 byte more to sp than they subtracted before. How is this
supposed to work?

[snip]
> I think this is close enough; it only adds
> one instruction.  Is this OK?

Why do you save and restore $6, $7, seemingly without using them?

> Do I need a "nop" after the subu?

It works here since it is expanded in an

        addiu $29,$29,-40

which is executed in one cycle. The usual suspects for hazards
to be NOPed are load/store insns and branches.

[snip]
> +        "sw $31,20($29);" \
>          "move $5,$31;" \
>          "jal __mcount;" \
>          "move $4,$1;" \
            ^
Some stylistic issue: In ".set noreorder" assembly it helps to
indent the insns in a branch delay slot by one blank to avoid
confusion about their non-sequential nature.


Thiemo

<Prev in Thread] Current Thread [Next in Thread>