linux-mips
[Top] [All Lists]

Re: DWARF2 exception doesn't work with gcc and gas on MIPS.

To: Richard Henderson <rth@redhat.com>
Subject: Re: DWARF2 exception doesn't work with gcc and gas on MIPS.
From: "H . J . Lu" <hjl@lucon.org>
Date: Thu, 14 Jun 2001 12:25:50 -0700
Cc: gcc@gcc.gnu.org, binutils@sourceware.cygnus.com, linux-mips@oss.sgi.com
In-reply-to: <20010614120543.B28888@redhat.com>; from rth@redhat.com on Thu, Jun 14, 2001 at 12:05:43PM -0700
References: <20010613212940.A22683@lucon.org> <20010614101951.B28824@redhat.com> <20010614114117.A3092@lucon.org> <20010614120543.B28888@redhat.com>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.2.5i
On Thu, Jun 14, 2001 at 12:05:43PM -0700, Richard Henderson wrote:
> + 
> + (define_insn "exception_receiver"
> +   [(unspec_volatile [(const_int 0)] 4)]
> +   "TARGET_ABICALLS && (mips_abi == ABI_32 || mips_abi == ABI_O64)"
> +   "*
> + {
> +   rtx loc;
> + 
> +   operands[0] = gen_rtx_REG (Pmode, PIC_FUNCTION_ADDR_REGNUM);
> + 
> +   if (frame_pointer_needed)
> +     loc = hard_frame_pointer_rtx;
> +   else
> +     loc = stack_pointer_rtx;
> +   loc = plus_constant (loc, current_frame_info.args_size);
> +   operands[1] = gen_rtx_MEM (Pmode, loc);
> + 
> +   return mips_move_1word (operands, insn, 0);
> + }"
> +   [(set_attr "type"   "load")
> +    (set_attr "length" "8")])
>   

I have 3 questions:

1. I see PIC_FUNCTION_ADDR_REGNUM be $25. gp is $28.  How does your
patch restore $28?

2. I assum you set length to 8 for o64. Has anyone checked if the
instruction is 8 byte on o64?

2. Did you remove (set_attr "mode" "SI") for o64?

Thanks.


H.J.

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