This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] powerpc: fix ifunc-sel.h with GCC 6
- From: Aurelien Jarno <aurelien at aurel32 dot net>
- To: Tulio Magno Quites Machado Filho <tuliom at linux dot vnet dot ibm dot com>
- Cc: libc-alpha at sourceware dot org, Alan Modra <amodra at gmail dot com>
- Date: Wed, 3 Aug 2016 00:23:22 +0200
- Subject: Re: [PATCH] powerpc: fix ifunc-sel.h with GCC 6
- Authentication-results: sourceware.org; auth=none
- References: <1469093774-25485-1-git-send-email-aurelien@aurel32.net> <874m7ix4py.fsf@totoro.br.ibm.com> <20160802104333.GA427@aurel32.net> <87oa5bz0w3.fsf@totoro.br.ibm.com>
On 2016-08-02 11:44, Tulio Magno Quites Machado Filho wrote:
> Aurelien Jarno <aurelien@aurel32.net> writes:
>
> > On 2016-07-21 14:48, Tulio Magno Quites Machado Filho wrote:
> >> Aurelien Jarno <aurelien@aurel32.net> writes:
> >>
> >> > On 32-bit PowerPC GCC 6 always saves the PIC register on the stack in
> >> > the prologue and adjust the stack in the epilogue. It is therefore not
> >> > possible anymore to just exit the function in the inline asm code,
> >> > otherwise it corrupts the stack pointer. This causes the following tests
> >> > to fail when using GCC 6:
> >> >
> >> > FAIL: elf/ifuncmain1
> >> > FAIL: elf/ifuncmain1pic
> >> > FAIL: elf/ifuncmain1picstatic
> >> > FAIL: elf/ifuncmain1pie
> >> > FAIL: elf/ifuncmain1staticpic
> >> > FAIL: elf/ifuncmain1staticpie
> >> > FAIL: elf/ifuncmain1vis
> >> > FAIL: elf/ifuncmain1vispic
> >> > FAIL: elf/ifuncmain1vispie
> >> > FAIL: elf/ifuncmain2pic
> >> > FAIL: elf/ifuncmain2picstatic
> >> > FAIL: elf/ifuncmain3
> >> > FAIL: elf/ifuncmain4picstatic
> >> > FAIL: elf/ifuncmain5
> >> > FAIL: elf/ifuncmain5picstatic
> >> > FAIL: elf/ifuncmain5staticpic
> >> >
> >> > The solution is to replace the beqlr instructions by a beq to the end
> >> > of the inline asm code. This fixes all the above failures.
> >> >
> >> > ChangeLog:
> >> > * sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Replace beqlr instructions
> >> > by beq instructions jumping to the end of the function.
> >>
> >> I'd prefer to remove this file.
> >>
> >> Alan, do we still need this file?
> >
> > Now that 2.25 is open for development, what should we do? I think we can
> > get the patch in, and try to remove this file in a second step.
>
> I agree. As Alan explained, we still need it.
Thanks, I have pushed both patches.
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net