This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PowerPC] Fix setjmp test fails
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org, Alan Modra <amodra at gmail dot com>
- Date: Tue, 2 Nov 2010 15:31:24 -0400
- Subject: Re: [PowerPC] Fix setjmp test fails
- References: <20101031084734.GT31277@bubble.grove.modra.org>
On Sun, Oct 31, 2010 at 4:47 AM, Alan Modra <amodra@gmail.com> wrote:
> gcc.dg/stackalign/setup-{1,3,4}.c exposed two bugs in my -msecure-plt
> support for powerpc-linux. ?First, rs6000_pic_labelno can only be used
> when rs6000_emit_load_toc_table is called from the prologue. ?Using it
> again in the body of a function results in
> ?Error: symbol `.LCF1' is already defined.
> Fixed easily by using a normal label, rather than the special one for
> -mrelocatable. ?Secondly, load_toc_v4_PIC_3b had its constraints
> reversed, allowing gcc to choose r0 as the input to an addis
> instruction.
>
> Bootstrapped and regression tested powerpc-linux. ?OK to apply
> everywhere?
>
> ? ? ? ?* config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
> ? ? ? ?(rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
> ? ? ? ?TARGET_SECURE_PLT.
> ? ? ? ?* config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
> ? ? ? ?* config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
> ? ? ? ?on input, "r" on output.
Okay.
Thanks, David