This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Fixes tree-loop-distribute-patterns issues
- From: Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>
- To: "GNU C. Library" <libc-alpha at sourceware dot org>
- Date: Fri, 21 Jun 2013 10:03:14 -0300
- Subject: Re: [PATCH] Fixes tree-loop-distribute-patterns issues
- References: <51C0AFB7 dot 1060009 at linux dot vnet dot ibm dot com> <20130618205608 dot 9CCE22C0AC at topped-with-meat dot com> <51C1BFE9 dot 4070805 at linux dot vnet dot ibm dot com> <51C1CEFC dot 9000100 at redhat dot com> <51C1FE4C dot 3020400 at linux dot vnet dot ibm dot com> <20130619221130 dot 7B91A2C10E at topped-with-meat dot com> <51C31177 dot 90303 at linux dot vnet dot ibm dot com> <20130620175832 dot 0E6FA2C133 at topped-with-meat dot com> <51C34399 dot 7010409 at redhat dot com> <20130620213459 dot GA2749 at winnix>
On 20-06-2013 18:34, Winfried Magerl wrote:
> Hi,
>
> [...]
>
> Don't care to much about my post because I'm the one who don't understand
> why compiling rtld-memset.c with '-fno-tree-loop-distribute-patterns'
> fixes the problem with the run-time-loader on glibc-2.18 when it
> looks like the glibc-2.17-version of memset.c is identical and
> works without any additional fix.....
> And yes, I use glibc-2.17 as system-library and it's compiled with
> gcc-4.8.1 and '-O3'.
>
> regards
>
> winfried
>
On x86_64 GLIBC 2.17 rtld-memset code use is 'sysdeps/x86_64/multiarch/memset.S'
(and it won't generate a recursive call regarding the CFLAGS used), however on
some point in 2.18 the build started to select 'sysdeps/x86_64/rtld-memset.c'
instead. This C implementation just include <string/memset.c> and therefore
could generate recursive calls with right compiler opts. Siddhesh patch replace
it with assembly patch, thus avoid the recursive call.