This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fixes tree-loop-distribute-patterns issues


Hi,

On Thu, Jun 20, 2013 at 02:02:01PM -0400, Carlos O'Donell wrote:
> On 06/20/2013 01:58 PM, Roland McGrath wrote:
> > Thanks, that is much closer.
> > 
> > Though it's a "known fact" that there are no compilers that accept
> > -fno-tree-loop-distribute-patterns on the command line but do not accept
> > __attribute__ ((optimize ("-fno-tree-loop-distribute-patterns"))), it is
> > strange and unusual to have the configure test check for command-line
> > support when the actual thing we need to use is attribute support.  In a
> > less severe way, this too violates the principle of empirical tests in
> > configure checks.  Please change the configure check so that it tests the
> > syntax that we actually use.
> > 
> > The libc-symbols.h definition also needs clear comments about its purpose
> > and appropriate uses, as I mentioned before.
> > 
> > I think this patch will be fine with those two improvements.
> > 
> > Further, I think we should apply the macro to every simple_* function in
> > every string/ test (not just the ones we know today have an issue).  But
> > that could be a separate follow-up patch if you prefer.
> 
> Awesome. It looks like we have a patch that we can checkin now,
> and I can cross this off the 2.18 blocker.
> 
> I'm happy to see us release something that works with other GNU
> projects like GCC :-)

at least on x86_64 it looks like all problems (problems I see) are
already fixed.

The error in the testsuite with check-localplt.out disapears with:

2013-06-11  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
       [BZ #15605]
       * sysdeps/generic/symbol-hacks.h: Add workaround for memset/memmove calls
       generated by the compiler on loop optimizations.
       * sysdeps/wordsize-32/symbol-hacks.h: Include next symbol-hacks.h for
       general definitions.

And I don't need any patch to build glibc-2.18-branch with gcc-4.8.1 and -O3
since this patch:

2013-06-14  Siddhesh Poyarekar  <siddhesh@redhat.com>
           H.J. Lu  <hjl.tools@gmail.com>
       [BZ #15627]
       * sysdeps/x86_64/rtld-memset.c: Remove file.
       * sysdeps/x86_64/rtld-memset.S: New file.

Maybe I miss some more possible pitfalls for this problem or maybe
other architectures needs other fixes, but test-results are identical
when comparing '-O3' and '-O2'-build on x86_64.
It's typically only 'tst-cputimer1' which failes where I didn't care
to much about some milliseconds and some float-tests which are mostly
acrhitecture-depending (FMA/XOP).
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]