Summary:
* Follow-up shrink-up and branch cost related work.
* Investigate "MSR FPEXC, r2" assemble fail issues.
Details:
1. RM toolchain related work.
2. Investigate "MSR FPEXC, r2" assemble fail issues.
* According to Reference Manual, should use VMSR/VMRS to access
FPEXC register other than MSR/MRS.
* Binutils 2.23.1 or later had enhanced VMRS/VMSR to accept FPEXC register.
3. Rebase and test the shrink-wrap patches.
4. Read codes about impact of branch-cost.
Plan:
* Follow up the shrink-wrap and branch cost related work.
Planed leaves:
* Jan. 1-3, 2013
Best Regards!
-Zhenqiang
Hi all!
I'm rebuildding linaro-toolchain with ct-ng,I expect use the configure file in linaro-toolchain-binaries ,but I can't read the options in it's arm-linux-gnueabihf-ct-ng.config.
How I can do?
Thanks!
== Progress ==
* 64-bits ops in Neon: re-posted patch after a bit of cleanup
requested by upstream.
Investigated Fortran regression: confirmed unrelated to this
patched, and fixed upstream.
* disable-peeling: launched jobs under cbuild to perform initial benchmarking
* builtin_bswap16 backport to linaro-4.7: almost OK, missing some
pending validation results.
* cbuild: investigated some reporting problems which were slowing down
the branch review process.
== Next ==
* handle 64-bits bitops in Neon feedback from upstream if any
* finish builtin_bswap16 backport
* benchmark with vectorizer cost model enabled with its default configuration
== Future ==
Back on January 7th, after the end of the world.
== Blueprints ==
Initial Current Actual
initial-aarch64-backport 31 Oct 2012 31 Dec 2012 21 Dec 2012
aarch64-baremetal-testing 31 Oct 2012 31 Dec 2012 21 Dec 2012
backport-fma-intrinsic 31 Dec 2012 Brice
fused-multiply-add-support 31 Dec 2012 Brice
gcc-investigate-lra-for-arm 31 Dec 2012 Brice
fix-gcc-multiarch-testing 31 Dec 2012 31 Jan 2013
== Progress ==
* Admin
* Interviewing
* Welcomed Brice Dobry to the working group
* Started inputting cards into cards.linaro.org
* Discussions about KVM
* Discussions about Toolchain/Platform interactions
* initial-aarch64-backport and aarch64-baremetal-testing
* Finished documentation
== Next (working) week ==
* Admin
* Finish loading card drafts into Jira.
* Welcome Renato to working group.
* Do monthly GCC merges
* Prepare Cortex Strings release
* Ensure GCC backports are up to date.
== Future ==
* Run HOT/COLD partitioning benchmarks
* Analyse ARM results
* On x86_64 to see what the actual benefit we could get
* fix-gcc-multiarch-testing
* Come up with strawman proposal for updating testsuite to handle
testing with varying command-line options.
--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann(a)linaro.org
On 21 December 2012 09:54, Yvan Roux <yvan.roux(a)linaro.org> wrote:
> Matt, do you have something particular in mind to put in a shared and versioned .bzrignore file ?
> My understanding of its usage is that it is more a user side configuration of the archive.
> (Maybe we could chat about this topic on another channel)
Yes this conversation should probably be conducted elsewhere :-) -
moved to linaro-toolchain.
If you look at upstream SVN GCC and do svn propget svn:ignore you get
a long list of files that SVN is set up to ignore. And whilst there
isn't a .gitignore other upstream projects which have git mirrors do
put a .gitignore in place (see GDB for instance).
I think having a .bzrignore which is a copy of the svn:ignore set up
(and the defaults that SVN ignores but aren't on bzr's list) would be
valid in the repo. Although as I said in the original thread - let's
do this when we branch 4.8 and not to the historic branches.
Thanks,
Matt
--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann(a)linaro.org
The Linaro Toolchain Working Group is pleased to announce the 2012.12
release of the Linaro Toolchain Binaries, a pre-built version of
Linaro GCC and Linaro GDB that runs on generic Linux or Windows and
targets the glibc Linaro Evaluation Build.
Uses include:
* Cross compiling ARM applications from your laptop
* Remote debugging
* Build the Linux kernel for your board
What's included:
* Linaro GCC 4.7 2012.12
* Linaro GDB 7.5 2012.12
* A statically linked gdbserver
* A system root
* Manuals under share/doc/
The system root contains the basic header files and libraries to link
your programs against.
The Linux version is supported on Ubuntu 10.04.3 and 12.04, Debian
6.0.2, Fedora 16, openSUSE 12.1, Red Hat Enterprise Linux Workstation
5.7 and later, and should run on any Linux Standard Base 3.0
compatible distribution. Please see the README about running on
x86_64 hosts.
The Windows version is supported on Windows XP Pro SP3, Windows Vista
Business SP2, and Windows 7 Pro SP1.
The binaries and build scripts are available from:
https://launchpad.net/linaro-toolchain-binaries/trunk/2012.12
Need help? Ask a question on https://ask.linaro.org/
Already on Launchpad? Submit a bug at
https://bugs.launchpad.net/linaro-toolchain-binaries
On IRC? See us on #linaro on Freenode.
Other ways that you can contact us or get involved are listed at
https://wiki.linaro.org/GettingInvolved.
== Progress ==
* Release week:
- Made 2012.12 release of gcc-linaro 4.6 and 4.7.
- took lot of time (infrastructure, right acess, Lava lab migration)
* GCC atomic builtins:
- my load acquire patch was applied up-stream (trunk and 4.7).
- some cleaning in optabs.c (patch applied up-stream too).
== Next ==
* Resume Boehm GC AArch64 support.
* Review roster.
== Progress ==
* gdb-linaro-7.5-2012.12 release
- Updated wikis about gdb sources import from upstream and about
gdb-linaro release
- still some trouble with infrastructure to achieve the release
* 64-bits ops in Neon: no news from upstream
* disable-peeling: upstream advice is to enable & tune the vectorizer
cost model first, but there seems to be an agreement that if unaligned
accesses have no penalty, peeling should not be considered. Updated
the vectorizer-cost-model blueprint
* builtin_bswap16 backport to linaro-4.7: the i686 regression was
caused by the build process. Re-spawned the jobs after fixing the
remaining arm issue
* cbuild: briefly looked at some scripts to better understand the
whole system, while tracking a problem in the gdb validation reports
== Next ==
* handle 64-bits bitops in Neon and disable-peeling feedback from
upstream if any
* finish builtin_bswap16 backport
== Future ==
* on holidays for 2 weeks (Dec 22th-Jan 6th)
== Blueprints ==
Initial Current Actual
initial-aarch64-backport 31 Oct 2012 31 Dec 2012
aarch64-baremetal-testing 31 Oct 2012 31 Dec 2012
backport-fma-intrinsic 31 Dec 2012 Brice
fused-multiply-add-support 31 Dec 2012 Brice
gcc-investigate-lra-for-arm 31 Dec 2012 31 Dec 2012
fix-gcc-multiarch-testing 31 Dec 2012 31 Jan 2013
== Progress ==
* Admin
* Interviewing
* Took over from Michael
* New Starter prep
* Updated card drafts
* Discussions about LEG/TCWG interactions
* Discussions about KVM
* Discussions about Toolchain/Platform interactions
== Next Week ==
* Upload card drafts into Jira.
* initial-aarch64-backport and aarch64-baremetal-testing
* Complete documentation
== Future ==
* gcc-investigate-lra-for-arm
* Analyse benchmarks
* Run HOT/COLD partitioning benchmarks
* Analyse ARM results
* On x86_64 to see what the actual benefit we could get
* fix-gcc-multiarch-testing
* Come up with strawman proposal for updating testsuite to handle
testing with varying command-line options.
--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann(a)linaro.org
* qemu-linaro 2012.12 release
* arm-devs pullreq sent
* wrote a patch for some minor TCG leaks
* more virtio patch review
* various other upstream arm devs review
* discussion re KVM planning, etc
* usual collection of meetings and calls
KVM blueprint progress tracker (note new url):
http://cbuild.validation.linaro.org/helpers/backlog?group_by=topic&colour_b…
-- PMM
Hi Ramana. You have the following branches remaining on Launchpad:
* lp:~ramana/gcc-linaro/47-lower-subreg-experiments
* lp:~ramana/gcc-linaro/47-improve-neon-intrinsics
* lp:~ramana/gcc-linaro/47-nobble-promote-mode
* lp:~ramana/gcc-linaro/47-smin-umin-idiom
Which are obsolete, which should be spun out into backlog blueprints,
and which should be taken over by someone?
-- Michael
Summary:
* Validate RM toolchain
* Prepare Linaro Toolchain Binaries 2012.12 release.
* Collect performance data for different branch cost.
Details:
1. Validate RM toolchain release.
2. Collect denbench and spec2000int performance data for branch cost tuning.
3. Fix README issue (lp:1068402) by dynamically create README.txt:
* The hard coded README.txt is removed.
* Update build scripts to generate the README.txt, which depends on
- README.texi, which is the common template for all TARGETS.
- config.texi, which sets the default configuration for the
TARGET. Each TARGET has a config.texi.
- version.texi, created during build, includes GCC_VERSION,
GDB_VERSION and TOOLCHAIN_VERSION.
4. Update Linaro GCC and GDB to 2012.12 in Linaro crosstool-ng,
workaround gdb mingw32 link fail issue (due to mbsrtowcs is redefined
in gdb/gnulib), finish the smoke test and spawn release builds.
Plans:
* Investigate how branch cost impacts on code generation.
* Release Linaro Toolchain Binaries 2012.12.
Best regards!
-Zhenqiang
The Linaro Toolchain Working Group is pleased to announce the release
of Linaro GDB 7.5.
Linaro GDB 7.5 2012.12 is the second release in the 7.5 series.
***NOTE*** Linaro GDB 7.5 2012.12 is identical to the FSF GDB 7.5.1 release,
except for the change in version number and Linaro branding, since all
Linaro GDB features were already accepted upstream and are included in
the FSF release as-is. Future releases in the Linaro GDB 7.5 series may
include additional ARM-focused bug fixes and enhancements.
The source tarball is available at:
https://launchpad.net/gdb-linaro/+milestone/7.5-2012.12
More information on Linaro GDB is available at:
https://launchpad.net/gdb-linaro
Christophe Lyon
The Linaro Toolchain Working Group is pleased to announce the release of
Linaro QEMU 2012.12.
Linaro QEMU 2012.12 is the latest release of qemu-linaro. Based off
upstream (trunk) QEMU, it includes a number of ARM-focused bug fixes
and enhancements.
There are no major changes in this month's release, but it has
been updated to be based on upstream's recent 1.3.0 release.
The source tarball is available at:
https://launchpad.net/qemu-linaro/+milestone/2012.12
More information on Linaro QEMU is available at:
https://launchpad.net/qemu-linaro
-- PMM
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.
CALL scripts/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....
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=....)
/Marcus
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(a)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
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 <uweigand(a)de.ibm.com>
Date: Mon Jul 16 16:31:58 2012 +0200
Update to exactly reflect upstream version.
commit bf378903a1b749b904ae64635182e7fc9b43e0e4
Author: Ulrich Weigand <uweigand(a)de.ibm.com>
Date: Tue Jul 10 15:46:51 2012 +0200
Fix backport.
commit e0c3b0a21916ffafc058cd88d82423d87ce77b50
Author: Ulrich Weigand <uweigand(a)de.ibm.com>
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 <http://gcc.gnu.org/bugs.html> 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
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