[MINUTES] Toolchain Performace Call 2012-12-11

2012-12-11 Thread Yvan Roux
The minutes of the performance call held on 11 December 2012 can be found at:

https://wiki.linaro.org/WorkingGroups/ToolChain/Meetings/2012-12-11

In summary the actions from the meeting are:

* ACTION: Matt update meeting template attendees - to include Yvan
* ACTION: mgrettondann split LRA blueprint
* ACTION: Christophe to update Hot/Cold partitioning bugzilla
* ACTION: mgrettondann: benchmark on Hold/Cold partitioning
* ACTION: Christophe to look at the loop peeling cost

Thanks,
Yvan

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


regression of x86 gcc bootstrap with Linaro sourcebase

2012-12-11 Thread Robert Schiele
Hi Ulrich,

Before I build the cross compiler for ARM target I do a bootstrap
process of an i686 compiler on the same code base to use that one
building the cross compiler to reduce the chance of seeing subtle
problems late in the game. This process unveiled a x86 bootstrap
regression with some of your changes on the Linaro 4.7 branch.

It all boils down to the following set of changes you did:

commit c904094f2421bbd5d2cab6d7fbccecf055509629
Author: Ulrich Weigand 
Date:   Mon Jul 16 16:31:58 2012 +0200

Update to exactly reflect upstream version.

commit bf378903a1b749b904ae64635182e7fc9b43e0e4
Author: Ulrich Weigand 
Date:   Tue Jul 10 15:46:51 2012 +0200

Fix backport.

commit e0c3b0a21916ffafc058cd88d82423d87ce77b50
Author: Ulrich Weigand 
Date:   Mon Jul 9 22:52:10 2012 +0200

Fix LP 1020601.

This is the introduction of optimize_unreachable in gcc/tree-ssa-ccp.c.

When configuring with

../gcc/configure --host=i686-build_pc-linux-gnu
--build=i686-build_pc-linux-gnu --target=i686-build_pc-linux-gnu
--prefix=/ --libexecdir=//lib
--program-prefix=i686-build_pc-linux-gnu-
--with-sysroot=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot
--with-local-prefix=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot
--with-gmp=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr
--with-mpfr=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr
--with-mpc=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr
--with-cloog=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr
--with-ppl=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr
'--with-host-libstdcxx=/user/rschiele/l/builddir/i686-build_pc-linux-gnu/tools/lib/libstdc++.a
-lm' --disable-multilib --disable-checking --enable-__cxa_atexit
--enable-libmudflap --enable-libgomp --enable-libssp
--enable-languages=c,c++ --enable-threads=posix
--disable-libstdcxx-pch --enable-c99 --enable-long-long
--disable-shared

It fails in the bootstrap at

/user/rschiele/l/src/gccbuild/./prev-gcc/g++
-B/user/rschiele/l/src/gccbuild/./prev-gcc/
-B//i686-build_pc-linux-gnu/bin/ -nostdinc++
-B/user/rschiele/l/src/gccbuild/prev-i686-build_pc-linux-gnu/libstdc++-v3/src/.libs
-B/user/rschiele/l/src/gccbuild/prev-i686-build_pc-linux-gnu/libstdc++-v3/libsupc++/.libs
-I/user/rschiele/l/src/gccbuild/prev-i686-build_pc-linux-gnu/libstdc++-v3/include/i686-build_pc-linux-gnu
-I/user/rschiele/l/src/gccbuild/prev-i686-build_pc-linux-gnu/libstdc++-v3/include
-I/user/rschiele/l/src/gcc/libstdc++-v3/libsupc++
-L/user/rschiele/l/src/gccbuild/prev-i686-build_pc-linux-gnu/libstdc++-v3/src/.libs
-L/user/rschiele/l/src/gccbuild/prev-i686-build_pc-linux-gnu/libstdc++-v3/libsupc++/.libs
-c   -g -O2 -gtoggle -DIN_GCC   -fno-exceptions -fno-rtti -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
 -DHAVE_CONFIG_H -I. -I. -I../../gcc/gcc -I../../gcc/gcc/.
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include
-I/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr/include
-I/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr/include
-I/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr/include
 -I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/bid
-I../libdecnumber
-I/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr/include
 -I/user/rschiele/l/builddir/i686-build_pc-linux-gnu/sysroot/usr/include
 ../../gcc/gcc/sel-sched.c -o sel-sched.o
../../gcc/gcc/sel-sched.c: In function 'void sel_sched_region_2(int)':
../../gcc/gcc/sel-sched.c:7472:1: error: mismatching comparison operand types
struct rtx_def *
bool
if (insn_1716 == 0)

../../gcc/gcc/sel-sched.c:7472:1: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

Note, that the --disable-checking is essential to reproduce. As soon
as you do --enable-checking the bootstrap completes successfully. I
would assume that you then still have the bug in the compiler but it
is just subtle enough not to be triggered then.

Reverting your mentioned changes fixes this problem.

If you need further information about my environment to reproduce the
problem feel free to contact me.

Greetings,
Robert

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: regression of x86 gcc bootstrap with Linaro sourcebase

2012-12-11 Thread Ulrich Weigand
Robert Schiele  wrote on 11.12.2012 12:12:45:

> Before I build the cross compiler for ARM target I do a bootstrap
> process of an i686 compiler on the same code base to use that one
> building the cross compiler to reduce the chance of seeing subtle
> problems late in the game. This process unveiled a x86 bootstrap
> regression with some of your changes on the Linaro 4.7 branch.
[snip]

> This is the introduction of optimize_unreachable in gcc/tree-ssa-ccp.c.
[snip]

> ../../gcc/gcc/sel-sched.c: In function 'void sel_sched_region_2(int)':
> ../../gcc/gcc/sel-sched.c:7472:1: error: mismatching comparison operand
types
> struct rtx_def *
> bool
> if (insn_1716 == 0)
>
> ../../gcc/gcc/sel-sched.c:7472:1: internal compiler error:
> verify_gimple failed
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See  for instructions.
>
> Note, that the --disable-checking is essential to reproduce. As soon
> as you do --enable-checking the bootstrap completes successfully. I
> would assume that you then still have the bug in the compiler but it
> is just subtle enough not to be triggered then.

This does look exactly like:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54684

which was indeed a bug in optimize_unreachable, fixed by Richard Biener:
http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01634.html

Can you verify whether this patch fixes your problem?
We'll have to backport the fix to Linaro GCC as well.

Also, if you don't mind, could you open a Launchpad bug
to track this issue?   Thanks!



Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand | Phone: +49-7031/16-3727
  STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E.
  IBM Deutschland Research & Development GmbH
  Vorsitzende des Aufsichtsrats: Martina Koederitz | Geschäftsführung: Dirk
Wittkopp
  Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294



___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: regression of x86 gcc bootstrap with Linaro sourcebase

2012-12-11 Thread Robert Schiele
On Tue, Dec 11, 2012 at 2:04 PM, Ulrich Weigand
 wrote:
> This does look exactly like:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54684
>
> which was indeed a bug in optimize_unreachable, fixed by Richard Biener:
> http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01634.html
>
> Can you verify whether this patch fixes your problem?

Yes, it does indeed. Good spot!

> We'll have to backport the fix to Linaro GCC as well.

Put that in my own patchset on top of all the Linaro patches and it
seems to work smoothly now. Trying a full toolchain build with all
those changes now...

> Also, if you don't mind, could you open a Launchpad bug
> to track this issue?   Thanks!

Done: https://bugs.launchpad.net/gcc-linaro/+bug/1088898

Thanks,
Robert

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: FPU error with arm-linux-gnueabihf-gcc 3.7.3

2012-12-11 Thread Matthew Gretton-Dann
On 10 December 2012 14:53, Zhangfei Gao  wrote:
> We met build error when using arm-linux-gnueabihf-gcc 3.7.3 for Huawei
> s40v200 kernel, which is 3.0.8, log is below.
>
> HAVE issue:
> gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux.tar.bz2
> gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux.tar.bz2
> gcc-linaro-arm-linux-gnueabi-2012.03-20120326_linux.tar.bz2, with build flag
> --with-float=softfp
>
>
> NO issue:
> arm-eabi-gcc 4.4.0, which comes from android package.
>
> Any suggestion?
>
> Thanks
>
> make[1]: `include/generated/mach-types.h' is up to date.
>   CALLscripts/checksyscalls.sh
>   CHK include/generated/compile.h
>   AS  arch/arm/mach-godbox/hi_pm_sleep.o
> arch/arm/mach-godbox/hi_pm_sleep.S: Assembler messages:
> arch/arm/mach-godbox/hi_pm_sleep.S:456: Error: selected processor does not
> support requested special purpose register -- `mrs r10,FPEXC'
> arch/arm/mach-godbox/hi_pm_sleep.S:456: Error: selected processor does not
> support requested special purpose register -- `msr FPEXC,r2'
> arch/arm/mach-godbox/hi_pm_sleep.S:456: Error: selected processor does not
> support requested special purpose register -- `mrs r2,FPSCR'
> arch/arm/mach-godbox/hi_pm_sleep.S:546: Error: selected processor does not
> support requested special purpose register -- `msr FPEXC,r2'
> arch/arm/mach-godbox/hi_pm_sleep.S:546: Error: selected processor does not
> support requested special purpose register -- `msr FPSCR,r10'
> arch/arm/mach-godbox/hi_pm_sleep.S:546: Error: selected processor does not
> support requested special purpose register -- `msr FPEXC,r9'
> make[1]: *** [arch/arm/mach-godbox/hi_pm_sleep.o] Error 1
> make: *** [arch/arm/mach-godbox] Error 2
> make: *** Waiting for unfinished jobs

Can you show me the complete command line for assembling
arch/arm/mach-godbox/hi_pm_sleep.S into
arch/arm/mach-godbox/hi_pm_sleep.o please?  And also the output of gcc
-v?

My guess is that you are building GCC yourself have specified
--with-float=softfp, but not specified the actual floating point
architecture with --with-fpu= on the GCC configure line.  See the
documentation for -mfpu= in the GCC manuals to see what values are
valid here (again guessing but you probably want --with-fpu=vfpv3 or
--with-fpu=neon - but I don't know what architecture you are actually
compiling for).

Thanks,

Matt


--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-d...@linaro.org

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


[MINUTES] Toolchain main Call 2012-12-10

2012-12-11 Thread Michael Hope
The minutes of the main call held on 10 December 2012 can be found at:

https://wiki.linaro.org/WorkingGroups/ToolChain/Meetings/2012-12-10

In summary the actions from the meeting are:

 * ACTION: Yvan to post mail to linaro-toolchain@lists.linaro.org re:
4.6 armv5 sync failures
 * ACTION: Matt review 4.7 AArch64 merge
 * ACTION: Michael to check that the GDB snapshots claiming to be 7.7
are actually 7.6
 * ACTION: everyone update the Linaro Leaves calendar for Christmas
 * ACTION: Matt to look inside ARM re: EEMBC Office gs8 failures
 * ACTION: Matt will send Ilias the KVM person names
 * ACTION: re: left over branches: Michael to send an email and Ramana follow up

Thanks,

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: [PATCH 1/5] cortex strings preparation for aarch64

2012-12-11 Thread Michael Hope
On 11 December 2012 01:26, Marcus Shawcroft  wrote:
> This patch is just a minor whitespace cleanup.
> /Marcus

Applied as bzr83.  I updated scripts/add-license.sh to strip trailing
whitespace from any future files.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: [PATCH 2/5] cortex strings preparation for aarch64

2012-12-11 Thread Michael Hope
On 11 December 2012 01:26, Marcus Shawcroft  wrote:
> This patch adds support for --host=TRIPLE to configure which is
> convenient for cross building.

Applied as bzr84.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: [PATCH 4/5] cortex strings preparation for aarch64

2012-12-11 Thread Michael Hope
On 11 December 2012 01:26, Marcus Shawcroft  wrote:
> Adding definitions for LDADD and CFLAGS when building strchr and memchr tests.
>
> /Marcus

Applied as bzr86.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: [PATCH 5/5] cortex strings preparation for aarch64

2012-12-11 Thread Michael Hope
On 11 December 2012 01:26, Marcus Shawcroft  wrote:
> This patch adds --std=gnu99 to CFLAGS for the tests.  This is
> necessary because some of the test code use the following c99 idiom:
>
> for (int x=)

Doesn't the -std=gnu99 in AM_CFLAGS apply to tests as well?

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: [PATCH] Cortex Strings and configury for AArch64

2012-12-11 Thread Michael Hope
On 11 December 2012 06:41, Marcus Shawcroft  wrote:
> Following this mornings set of patches, this patch adds configury for
> aarch64 support.

Applied as bzr88.  I dropped the extra parallel-tests.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: [PATCH] Cortex Strings AArch64 implementations of memcpy, memset, strcmp

2012-12-11 Thread Michael Hope
On 11 December 2012 06:43, Marcus Shawcroft  wrote:
> This patch adds aarch64 implementations of memcpy, memset and strcmp
> to cortex strings.

Applied as bzr89.  I shifted the implementations to src/aarch64.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain