== Issues ==
* None
== Progress ==
* Commit the fix for lp:1243022 on trunk.
* Backporting r203603, r204247 and r203267 to Linaro gcc 4.8.
* Updating CCMP patch according to comments.
* Collect spec2K result for CCMP.
- Overall there is no regression and no improvement.
- 175.vpr is sensitive to branch cost. Smaller branch cost will lead
to regression for it even with CCMP.
* Investigate bare metal arm-none-eabi A profile multilib build.
- Need fix the conflict with current multilib support for arm-linux-gnueabihf
- Need scripts and config update to meet the check of
--with-multilib-list=aprofile
- A reference build is shared at
http://cbuild.validation.linaro.org/snapshots/aprofile-baremetal.tar.bz2
== Plan ==
* Continue on CCMP.
* Update Linaro crosstool-ng for bare metal A profile multilib build.
== Progress ==
(TCWG-266), (TCWG-270), (TCWG-250), (TCWG-280) and (TCWG-288)
* Arm process record:
- Created Patches for all fixes and features.
- Performed testing in arm native and remote configuration.
- Performed regression testing on arm and x86.
- Submitted all fixes in three patch series.
* Performed GDB testsuite run on arm and x86 to get current status with new
patches.
There seems to be more test passing on arm than x86 with recent patches.
* Prepare for connect and travel to Santa Clara.
== Plan ==
* Linaro Connect US 2013
== Progress ==
* Got Odroid XU board stable by using Arch Linux. None of the
Ubuntu derived images worked more than barely. Tried a suggested
hack to use cpufreq-set -g performance, which allowed a fresh
install of saucy to work. Did new builds and test run.
* Got remote toolchain testing working on the newly functioning
Odroid board(s) and chromebook. Currently baseboard support is in
a DejaGnu branch,
http://git.savannah.gnu.org/cgit/dejagnu.git/?h=linaro. I'm
adding the global site.exp file to Cbuildv2, so 'make check'
executes tests via ssh on remote targets.
* Uploaded test results of ARM native builds to
cbuild.validation.linaro.org for tcwg-web. (look for version
gcc-linaro-4.8-2013.10.24)
* Added support to DejaGnu to use a custom port for ssh and scp.
* Survived learning to use Concur for expense reports.
== Plan ==
* Attend Connect, do presentation, go to others.
* Try to work around problem with importing test results. (need to
work with LAVA team for this one, will do at Connect)
* Copy tarballs to snapshots.linaro.org. (need to work with LAVA
team for this one, will do at Connect)
== Issues ==
* I see to be having random stability issues with the two Odroid
boards, although did manage to complete a test run of a the
execute tests.
== Progress ==
* Ongoing refactoring of malloc to improve performance
* Preparation for Connect
== Issues ==
* None
== Plan ==
* Linaro Connect US
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Getting ready for Connect & LLVM US
* Stride Vectorization
- Added some logic to detect read/write reduction, possibly not the best
solution
- Consolidating all discussion into a single document for easy referral
- Creating several bugs (PR17673,PR17677,PR17678,PR17679,PR17680,PR17681)
* Re-Vectorizing
- A bug was passing the vectorizer again on an already vectorized loop
(PR17662)
- http://llvm-reviews.chandlerc.com/D2011, commit r193349
* Odroid XU
- Running more stable now, self-hosting doing well (more than a week on
24/7)
* Background
- Lots of patch reviews
- Lots of discussions about stride vectorization and others
== Plan ==
* Connect US next week
* US LLVM Dev Meeting the following
* Will be back in 2 weeks
== Issue ==
* Can not attend LCU'13 due to slow US Visa process.
== Progress ==
* Investigate lp:1243022:
- Root cause: REG_INC note is lost in subreg2 pass, so ira gets
wrong result in function validate_equiv_mem.
- Work out a patch for community review.
* Send conditional compare (CCMP) patch for community review.
- Benchmark testing is ongoing.
* Investigate heuristics to control ifcombine. Basically it will take
branch taken probability, frequency, branch-cost and basic block
reorder into account.
== Plan ==
* Performance tuning for CCMP.
== Issues ==
* None.
== Progress ==
* 2013-10 release.
- Backports and branch merges reviews.
* LRA on AArch32:
- Committed patch to enable LRA with the -mlra flag (disabled by default).
- Created 2 bugzilla entries for Thumb and address issues.
- Thumb issue work still ongoing.
* Launchpad bugs:
- Cleaned up a couple of them.
* Misc:
- Internal meetings.
== Next ==
* Short week (2 days off and 1 travelling)
* LRA
Hi,
may you think I'm on the wrong list, no not :-)
I currently build my u-boot loader using the linaro tool chain 2013.09
and run into a problem with the support for JFFS2 where the linker report
VFP usage where u-boot using softfp for build.
compiler options: -ffixed-r9 -msoft-float
arm-linux-gnueabihf-ld.bfd: error:
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(bpabi.o)
uses VFP register arguments, u-boot does not
when I use
make USE_PRIVATE_LIBGCC=yes
the problem shows up at an undefined reference
fs/jffs2/libjffs2.o: In function `jffs2_1pass_build_lists':
/opt/cross_build/uboot.d/u-boot-git/fs/jffs2/jffs2_1pass.c:1441: undefined
reference to `__aeabi_uldivmod'
arm-linux-gnueabihf-ld.bfd: BFD (crosstool-NG linaro-1.13.1-4.8-2013.09 - Linaro
GCC 2013.09) 2.23.2.20130610 Linaro 2013.06 assertion fail
/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-linaro-2.23.2-2013.06/bfd/elf32-arm.c:7687
may someone have a closer look into it?
thanks
Chris
Hi,
On 4 October 2013 19:01, Maxim Uvarov <maxim.uvarov(a)linaro.org> wrote:
> On 10/04/2013 07:40 PM, Victor Kamensky wrote:
>>
>> Hi Maxim,
>>
>> readl and writel are stronger version of readl_realxed and
>> writel_relaxed:
>>
>> #define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; })
>> #define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
>>
>> They just add __iormb and __iowmb, I think it is very
>> dangerous thing to drop those memory barriers. I don't
>> think your change is correct and/or it requires way
>> better explanation.
>>
>> I've run into the same crash while working on 3.12-rc3 BE
>> issues. In fact I saw this failure on both BE and LE and on
>> old versions of BE kernels when I tried to use 4.8 gcc version
>> from 13.09 release. When I fall back to 4.7 (i.e 13.04) it
>> works fine
>>
>> I would think it is compiler issue or preexisting issue
>> in the code uncovered by compiler change. Personally
>> I think it is the first. Since I am chasing another problem
>> I did not have time to look more deeply into the issue.
>> IMHO it definitely require more digging. In mean time you
>> can quickly check your current version and try another one
>> if your looks as one described in this email.
>>
>> Thanks,
>> Victor
>
> Ah, yes, it __raw_write has direct access and writel swaps bits.
>
> If it's compiler issue then it has to be simple to compare objdump disasm
> output for that function.
I think I've hit this issue. We use latest Linaro GCC 4.8 in the CI
loop to build Arndale BE kernel.
Is there a bug reported to TCWG? If not, please create one:
https://bugs.launchpad.net/gcc-linaro/+filebug
FYI, I'm using Linaro GCC 4.8-2013.09 (pre-built) and latest
linaro-linaro (based on 3.12-rc5 with Victor's topic branch). Boot log
attached.
Cheers,
Fathi
---
Hi,
Can you review this patch for me and help me get it upstream?
This is an official request for help from LEG to the TCWG, if that
matters :-)
Cheers,
mwh
libatomic/configure.tgt | 5 -----
1 file changed, 5 deletions(-)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index b9e5d6c..7eaab38 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -95,11 +95,6 @@ fi
# Other system configury
case "${target}" in
- aarch64*)
- # This is currently not supported in AArch64.
- UNSUPPORTED=1
- ;;
-
arm*-*-linux*)
# OS support for atomic primitives.
config_path="${config_path} linux/arm posix"
--
1.8.1.2
== Progress ==
* Releases 4.7 and 4.8 2013.10
* Tried cbuildv2: difficult because of our company proxy, making some
changes necessary to cbuildv2. Tutorial sessions in Connect will be
welcome.
* Started chasing a regression in armv5 targets, handed over to Kugan.
* Noticed regressions in some cases with Charles' testsuite patch.
== Next ==
Short week: Monday/Tuesday off; Friday: travelling to Connect
* Look at trunks' new vectorizer cost model.
* Prepare Connect
== Progress ==
* Short week Hujj and Eid-Al-Adha Public Holidays in Pakistan 15-17
October 2013.
(TCWG-280)
ARM GDB Process Record Syscall support:
* Performed testing with all fixes incorporated and debugged failures
in remote configuration.
== Plan ==
(TCWG-266), (TCWG-270), (TCWG-250), (TCWG-280) and (TCWG-288)
* Arm process record: Submit all fixes and updates in three patches.
* Prepare for connect and travel to Santa Clara.
Very short week was on leave 14th and 16th October (India Holidays).
== Progress ==
* libssp glibc
Glibc tests are Segmenting at dl_close_worker, when I set pointer
guard. Debuging shows segfaults while expanding THREAD_GSCOPE_WAIT.
My assumption is thread pointer points to TCB and after allocating 16
Bytes before that, we can set pointer gaurd at tp -16. But not sure,
why it affects the pthread structure header which holds gscope_flag.
Also looked at TLS_MULTIPLE_THREADS_IN_TCB, enabling it lead to
__libc_multiple_threads undefined errors.
== Plan ==
* Continue libssp support.
* PGO for aarch64
== Progress ==
* 64bit division for targets without 32bit div instructions
- Finished the implementation
- Benchmarked it
- Getting ready to post RFC patch
* Connect Slides
- Worked on slides for connect
* Vector regression in 4.8-2013.09
- Started bisecting to find the issue
== Plan ==
* post RFC patch for 64bit division
* Vector regression in 4.8-2013.09
* Connect preparation
== Progress ==
* Improved the format of the emails that get sent to the cbuildv2
list from commits.
* Get Odroid U2 running stably, did native build on an external
USB disk. Upgraded to saucy. Did full toolchain build and test
run. 65 minutes per build.
* Got Odroid XU board to boot, then upgraded to saucy, not very
stable yet. Unlike the XU, it has a horrible lag when typing to
it via ssh.
* Updated chromebook to saucy, did native build and test run on
external USB drive. The U2 was faster, even with an older USB 2
only drive. 192 minutes for a build.
* Worked at verifying Cbuildv2 produced tarballs again since there
have been many little tweaks. The few differences between
Cbuildv2 produced tarballs and the official Linaro releases is
documentation related. For example, Cbuildv2 doesn't build the java
docs.
* Did slides for Connect presentation.
* Sat bagged an 900 foot ice route at over 13,000 feet. 8 mile
approach.
== Plan ==
* Try to work around problem with importing test results. (need to
work with LAVA team for this one)
* Copy tarballs to snapshots.linaro.org. (need to work with LAVA
team for this one)
* Get remote toolchain testing working on the newly functioning
Odroid board(s).
* Continued improvements to Cbuildv2.
== Issues ==
* My network and landline was down to upstream repairs for a day
and a half, bad timing during release week... :-(
Hi Bharath. Have a look under contrib/linaro/sysroot - there's a
script in there that you can fiddle with to pick a later distro.
-- Michael
On 16 October 2013 17:52, bhs <bharath.vegito(a)gmail.com> wrote:
> Hi Michael,
>
> I see that linaro's build system is using pre-built sysroot as an input
> to build cross-toolchain for ARM. I have a use case were we want
> eglibc-2.17(sysroot from raring) along with gcc-4.7.3 crosstoolchain. I
> could not any reference to the method in README file.
>
> How is the precise-sysroot used in building linaro toolchain binaries
> created?
> Thanks
> Bharath
> --
> This message was sent from Launchpad by
> bhs (https://launchpad.net/~bharath-vegito)
> using the "Contact this user" link on your profile page
> (https://launchpad.net/~michaelh1).
> For more information see
> https://help.launchpad.net/YourAccount/ContactingPeople
I accidentally sent without completing my 'Progress' section.
== Progress ==
eglibc -> glibc transition:
* Investigated upstream plan to retire eglibc and the implication of
losing options groups.
Cbuildv2 - Random patches
* [PATCH][Cbuildv2/get_source 17/17] lib/common.sh: get_source - Fix
for partial match in snapshots with <package>.conf:latest set.
* [PATCH][Cbuildv2/get_source 16/17] testsuite/test.sh: Add get_URL
test for <repo>.git@revision.
* [PATCH][Cbuildv2/get_source 15/17] lib/common.sh: Fix so that
get_URL works for <repo>.git@revision.
* [PATCH][Cbuildv2/get_source 14/17]
testsuite:test_sources.conf|test.sh: reserve nomatch.git for testing.
* [PATCH][Cbuildv2/get_source 13/17] testsuite/test.sh: Add tests
for user git repos not ending in .git.
* [PATCH][Cbuildv2/get_source 12/17] [test_]sources.conf: Unify
behind <label>.git identifiers for all git repos.
* [PATCH][Cbuildb2/get_source 11/17] New variable ${sources_conf} to
replace hardcoded config/sources.conf.
* [PATCH][Cbuildv2/get_source 10/17] testsuite/test.sh: Add test for
tag matching an svn repo in sources.conf.
* [PATCH][Cbuildv2/get_source 09/17] lib/common.sh: echo ${url} in
leg that processes direct non .git repositories.
* [PATCH][Cbuildv2/get_source 08/17] lib/common.sh: Fix for
unknown/unmatched get_source request.
* [PATCH][Cbuildv2/get_source 07/17] lib/common.sh: echo ${url} in
get_source when finding a successful snapshot match.
* [PATCH][Cbuildv2/get_source 06/17] lib/common.sh: find_snapshot
should return list of found snapshots even on error.
* [PATCH][Cbuildv2/get_source 05/17] lib/common.sh: Invoke
find_snapshot as a subshell in get_source.
* [PATCH][Cbuildv2/get_source 04/17] lib/common.sh: Suppress
extraneous trailing whitespace in get_URL and get_source output.
* [PATCH][Cbuildv2/get_source 03/17] testsuite/test.sh: Suppress
stderr noise and add new failing get_source tests.
* [PATCH][Cbuildv2/get_source 02/17] lib/checkout.sh: checkout
should use get_srcdir to reuse code.
* [PATCH][Cbuilv2/get_source 01/17] lib/make.sh: Don't continue with
build if source isn't found.
* [PATCH][Cbuildv2/get_source 00/17] Patchset to exhaustively test
get_source code legs and fix corner cases.
* [PATCH] cbuild2/lib/common.sh: redirect trace/error/warning, etc. to stderr.
* [PATCH] cbuild/lib/configure.sh: Fix stamp-configure* to prevent
spurious configure running.
* [COMMITTED][PATCH] cbuild/lib/make.sh: Add ${builddir}/install.log
from make install output.
* [COMMITTED][PATCH] lib/common.sh (list_URL): correct bash keyword
"locals" -> "local".
* [COMMITTED][PATCH] config/gcc.conf: Add --disable-shared to stage
1 default_configure_flags.
* [PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Add second
fetch md5sums test and always use wget -q in testsuite.
* [PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Always override
${local_snapshots} for tests.
== Issues ==
* None
== Plan ==
Objective before Linaro Connect:
* Wiki/README on using cbuildv2 sources.conf and <package>.conf:latest=
* git workflow document: collaborative use of git in Linaro
* wiki/README on using cbuildv2 local_snapshots for
specific/non-remote archives or git repositories.
General Cbuildv2:
* Audit usage of "local foo=`bar`; if test $?". Change to: "local
foo; foo=`bar`; if test $?".
- This is a known issue and very nefarious.
* Investigate dryrun to use stderr 2>&1?
* Port get_URL, get_source, and find_snapshot to unique behind
<repo>/<branch>@<revision> return type.
* Test local_snapshot overrides
== Progress ==
eglibc -> glibc transition:
* Investigated upstream plan to retire eglibc and the implication of
losing options groups.
Cbuildv2
*
[PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Always override
${local_snapshots} for tests.
[PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Add second fetch
md5sums test and always use wget -q in testsuite.
== Issues ==
* None
== Plan ==
Objective before Linaro Connect:
* Wiki/README on using cbuildv2 sources.conf and <package>.conf:latest=
* git workflow document: collaborative use of git in Linaro
* wiki/README on using cbuildv2 local_snapshots for
specific/non-remote archives or git repositories.
General Cbuildv2:
* Audit usage of "local foo=`bar`; if test $?". Change to: "local
foo; foo=`bar`; if test $?".
- This is a known issue and very nefarious.
* Investigate dryrun to use stderr 2>&1?
* Port get_URL, get_source, and find_snapshot to unique behind
<repo>/<branch>@<revision> return type.
* Test local_snapshot overrides
Hi,
We are working on userspace aarch64 and aarch32 apps and we are trying
to run 32/64 mode app simultaneously.
Is there any multi-arch support for mixed rootfs (has linkers/libs of
both arm and arm64)?
--
Thanks,
-Zhou
Progress:
* back from sabbatical!
* caught up on admin, email, etc
* code review: Christoffer's GIC related patches; VSEL support in 32 bit v8;
support for VBAR; integrator bugfixes; others
* working on a pullreq for ARM stuff to go into QEMU 1.7
(we're now in softfreeze)
Plans:
* attend KVM Forum, Connect
* review the SuSE aarch64-linux-user patches
-- PMM
== Issues ==
* None
== Progress ==
* Prepare Linaro toolchain binaries 2013.10 release
- Update EGLIBC version to 2013.10 and enable-profile for AARCH64.
- Generate Linaro prebuilt sysroot for arm-linux-gnueabihf.
* Commit patch to Reassociate X == CST1 || X == CST2 if popcount (CST2
- CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0
* Send ifcombine patch (to generate more conditional compare) for review.
* Root cause pr58775.
* Test conditional compare changes.
- Bootstrap and no make check regression on THUMB mode.
- ARM mode test is ongoing.
== Plan ==
* Send out the CCMP patch for review.
== Issues ==
* Short week
- school closed on Thursday
- holiday Friday
- several visits to the dentist
- feeling poorly, I think I have shellfish allergy
== Progress ==
* EEMBC
- Identified the problem on test not vectorizing
- Some ways to fix it: SLP, stride-access, unrolling
- Started implementation of GEP-PHI detection for reduction variables
* Odroid XU
- Bot died after a few hours, not really stable
- Trying again, at home, both odroids in parallel, they seem ok
* Background
- General reviews, etc.
The Linaro Toolchain Working Group is pleased to announce the
release of both Linaro GCC 4.8 and Linaro GCC 4.7.
Linaro GCC 4.7 2013.10 is the nineteenth release in the 4.7
series. Based off the latest GCC 4.7.4+svn203509 release, this is the
sixth release after entering maintenance.
Interesting changes include:
* Updates to GCC 4.7.4+svn203509
* Fix for LP #1229170
Linaro GCC 4.8 2013.10 is the seventh release in the 4.8 series. Based
off the latest GCC 4.8.1+svn203510 release, it includes performance
improvements and bug fixes.
Interesting changes include:
* Updates to GCC 4.8.1+svn203510
* Improved AArch64 support (CRC extension, improved intrinsics, gprof
support)
* Improved Aarch32 support (bug fixes, better code generation,
improved multilib)
* Backports for bug fixes (PR58578
We are aware that FSF GCC 4.8.2 was released earlier this week.
However, this release happened too late in our cycle for us to use it
as the basis for Linaro GCC 4.8 2013.10. The only functional
difference contained in FSF GCC 4.8.2 that is not in Linaro GCC 4.8
2013.10 is a correction to a x86 test case.
The source tarballs are available from:
https://launchpad.net/gcc-linaro/+milestone/4.7-2013.10https://launchpad.net/gcc-linaro/+milestone/4.8-2013.10
Downloads are available from the Linaro GCC page on Launchpad:
https://launchpad.net/gcc-linaro
More information on the features and issues are available from the
release pages:
https://launchpad.net/gcc-linaro/4.7/4.7-2013.10https://launchpad.net/gcc-linaro/4.8/4.8-2013.10
Mailing list: http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Bugs: https://bugs.launchpad.net/gcc-linaro/
Questions? https://ask.linaro.org/
Interested in commercial support? Inquire at support(a)linaro.org
### About Linaro binutils
Linaro binutils is a release of the GNU binutils with bug fixes and
enhancements for ARM platforms. GNU binutils is a collection of tools
including the `ld` linker and `as` assembler.
### Linaro binutils 2.23.2 2013.10-4
The Linaro Toolchain Working Group is pleased to announce the 2013.10-4
release of Linaro binutils 2.23.2, the third release in the 2.23 series.
This release is based on the latest GNU binutils 2.23 stable branch, but
with additional features and bug fixes.
#### Additional Features
* AArch64 GC sections support
* Support passing -mcpu=cortex-a53 and -mcpu=cortex-a57 to AArch64 gas
* Support passing -mcpu=cortex-a53 and -mcpu=cortex-a57 to ARM gas
* Support passing -mcpu=cortex-a12 to ARM gas
* Support AArch64 CRC instructions
* Support ARM CRC instructions
#### Bug Fixes
* Bug fix for AArch64 GOT layout
* Fixed source tarball structure
### Source
#### Release Tarball
* https://releases.linaro.org/13.10/components/toolchain/binutils-linaro
#### Development Tree
* git://git.linaro.org/toolchain/binutils.git
This release was built from the `linaro_binutils-2_23_2-2013_10-4_release`
tag.
### Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
* Linaro Toolchain Development [mailing
list](http://lists.linaro.org/mailman/listinfo/linaro-toolchain)
* Linaro Toolchain IRC channel on irc.freenode.net at `#linaro-tcwg`
* Questions? [ask Linaro](http://ask.linaro.org/).
* Interested in commercial support? inquire at [Linaro
support](mailto:support@linaro.org)
--
Will Newton
Toolchain Working Group, Linaro
### About Linaro eglibc
Linaro eglibc is a release of the eglibc C library with bug fixes and
enhancements for ARM platforms. eglibc is a variant of the GNU libc
designed to work well on embedded systems.
### Linaro eglibc 2.18 2013.10
The Linaro Toolchain Working Group is pleased to announce the 2013.10
release of Linaro eglibc 2.18, the second release in the 2.18 series.
This release is based on the latest upstream eglibc 2.18 stable branch,
but with additional features and bug fixes.
#### Additional Features
* AArch64 profiling support
* Optimized strlen for ARMv6T2
* Small enhancement to memcpy performance
* ARM pointer encryption support
#### Bug Fixes
* Fix for integer overflows in memalign/pvalloc/valloc
### Source
#### Release Tarball
* https://releases.linaro.org/13.10/components/toolchain/eglibc-linaro
#### Development Tree
* git://git.linaro.org/toolchain/eglibc.git
This release was built from the `linaro_eglibc-2_18-2013_10_release` tag.
### Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
* Linaro Toolchain Development [mailing
list](http://lists.linaro.org/mailman/listinfo/linaro-toolchain)
* Linaro Toolchain IRC channel on irc.freenode.net at `#linaro-tcwg`
* Questions? [ask Linaro](http://ask.linaro.org/).
* Interested in commercial support? inquire at [Linaro
support](mailto:support@linaro.org)
--
Will Newton
Toolchain Working Group, Linaro
== Issue ==
* AArch64 frame grows downward: no feedback yet.
== Progress ==
* Disable-peeling: Vectorizer cost model has been changed upstream,
quick look at benchmark results show little difference between before
and after the change. Need to analyze further, since I expected the
regressions previously identified with my patch to appear here too.
* AArch64 bootstrap failure: succesfully bootstrapped in the model.
* GCC trunk validation:
- improved configurability (default cpu, fpu, mode, testsuite flags
are selectable)
- requested feedback to build the list of desirable combinations to validate
* Backports/release 2013.10
- a few more backports completed
- re-trying to backport the ILP32 and refactoring series proves
again to be tricky, but helped identify backports which had escaped
from the list.
- cbuild has disk full again
* GCC Neon intrinsics testsuite:
-- posted a proposition to add my executable tests to the existing
framework. No feedback yet.
== Next ==
* Make 2013.10 releases, both with the historical process and using
cbuildv2, in parallel
* Disable-peeling/new vectorizer cost model: analyze bench results
== Progress ==
* Got cbuildv2 google group setup.
(https://groups.google.com/a/linaro.org/forum/#!forum/cbuildv2)
* Got email notifications working for commits to cbuildv2 repository.
* Continued work on release building via Cbuildv2. Source tarballs
checked out OK, binaries too. Probably a few tweaks left to cover
the minor differences, which are all documentation files.
- Rebuild GCC dynamically so the shared libraries for libgcc and
libstdc++ can go in the runtime binary tarball.
- Build runtime binary tarball.
- Added install script to sysroot tarball.
- Make overriding the default release tag with a user supplied
one work fully.
* Got Odroid U2 board working again, did complete native build
using cbuildv2.
* Reviewed more cbuild2 patches from Ryan.
* Got Jenkins building snapshot tarballs.
== Plan ==
* Do slides for Connect presentation.
* Work on duplicating the 2013.10 release via cbuildv2.
* Get Odroid X2 board to boot, which it currently refuses to do.
* Try to work around problem with importing test results.
* Copy tarballs to snapshots.linaro.org.
== Progress ==
* 4 Day week (October 7th Public Holiday)
* 64bit division
- Looked at libgcc division implementations
- Implemented in C "Align divisor shift dividend method" for
procssors without div instrusttion
- gcc regression now pass with above
* spec2k comparison between ARM and x86
- Continue working on slides for connect
- ran benchmarks to gather required results
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Continye with 64bit division
== Progress ==
(TCWG-266), (TCWG-270), (TCWG-250), (TCWG-280) and (TCWG-288)
* Added arm process record syscall support changes and some bug fixes.
* More improvement to gdb.reverse on arm now 2214 tests are passing in
native mode (144 failures left)
(TCWG-267), (TCWG-268) and (TCWG-269)
* No progress this week.
* Received US visa from US visa passport collection center.
* Booked travel for LCU13.
== Plan ==
* Short week Hujj and Eid-Al-Adha Public Holidays in Pakistan 15-17
October 2013.
(TCWG-250)
* Update/test arm process record thumb32 support patch incorporating
changes suggested by Will in his review.
(TCWG-280)
* Improve code changes and find ways to avoid hard coded constants
imported from Linux Kernel.
== Issues ==
* Develop machine was broken. Have to resetup the system.
== Progress ==
* Commit fix for pr58423
* Enhance Linaro crosstool-ng
- Fix lp:1232678
- Get EGLIBC version from config files automatically.
- Build aarch64 sysroot to support profile
(https://launchpad.net/linaro-toolchain-binaries/support/01/).
* Update the patch "Reassociate X == CST1 || X == CST2 if popcount
(CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0" according
to comments.
* Continue on CCMP
- Send the phiopt patch to handle CCMP for community review. Jeff
will follow-up it.
- Enhance ifcombine to generate more CCMP.
- Handle more than 2 compares in expand.
- Add new instruction patterns to generate CCMP for ARM. Test is ongoing.
== Plan ==
* Send ifcombine patch for community review.
* Continue on CCMP testing.
== Progress ==
* CbuildV2 Fixes to add fetch md5sums to testsuite/test.sh:
- Subject: [PATCH][test_fetch_md5sums 1/2] lib/fetch.sh: Add
missing ${local_snapshots} to md5sum path.
- Subject: [PATCH][test_fetch_md5sums 2/2] testsuite/test.sh: Add
fetch tests section.
* CbuildV2 Fixes to get testsuite/test.sh working in the source directory:
- Subject: [PATCH][cbuild2 1/3] testsuite/test.sh: Don't use
"warning" function before it is sourced.
- Subject: [PATCH][cbuild2 2/3] testsuite/test.sh: Remove
redundant sourcing of host.conf.
- Subject: [PATCH][cbuild2 3/3] testsuite/test.sh: Re-enable
running tests from src dir.
CbuildV2 random fixes:
- Subject: [PATCH][cbuild2 2/4] cbuild2.sh: correct --disable "boostrap"
- Subject: [PATCH][cbuild2 3/4] config/ffmpeg.conf: separate options
* CbuildV2 fixes to remove ${dir}/md5sums usage (it is redunant with
snapshots/md5sums).
- Subject: [PATCH][cbuild2 1/4] Remove unneeded
infrastructure/md5sums fragment
- Subject: [PATCH][cbuild2 4/4] Remove ${dir} specific md5sums files.
* Fixed error where gcc stage 2 configure returns early (erroneously)
on success.
- [PATCH] Only return early on error following configure
* Fixed error in downloading branch named git repos in lib/checkout.sh.
- [PATCH] Fix git clone to get repo without branch name as part of the url.
== Issues ==
Contacted its@linaro requesting permission to be able to create
personal branches in rsavoye’s cbuild2 git tree. They created a group
for cbuildv2.
Got work laptop installed (dualboot) with Fedora 19 and ran into some
errors with secure boot.
== Plan ==
* Spend some time looking at our options with regard to EGLIBC options
groups when forced to move to glibc proper.
*
== Progress ==
* Backports and release for binutils 2013.10 (x4!)
* Backports and release for eglibc 2013.10
* Submitted a couple more glibc memalign patches
* Committed aarch64 gdb fix
* Bits of malloc work in between
== Issues ==
* None
== Plan ==
* Try and get some uninterrupted time on malloc
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* EEMBC
- Updating Linaro image with Clang toolchain changes
- Updating compare_all script to rank boards
- Investigating differences in performance against GCC
* ODroid XU
- Setting up server image (Linaro 13.09 + odroid specific changes)
- CPU scheduler is a mess, forcing "performance" governor at boot seems to
work
- No journal in root fs, remounts ro all the time (bad image?)
- LLVM builds are slow (as fast as Chromebook), maybe it's the SDCard
- Setting it as self-host buildbot in the lab, going well
* Background
- Massive patch review (Sub-Register Live Range Analysis for NEON/VFP et
al)
- LLVM Sync and EuroLLVM meetings
== Plan ==
* Continue investigating performance problems in EEMBC
* Check Odroid XU internal buildbot for stability
Hi Term,
I have try to us "crosstool-ng-linaro-1.13.1-4.8 "to build myself cross tool chain,
but some problem happened,just before I have used crosstool-ng offcial version,
every thing is fine,I have got my toolchain, my operation system is Ubuntu 12.10,
when I change to crosstool-ng-linaro,
I am follow these steps.
ct-ng list-samples,
ct-ng linaro-arm-linux-gnueabihf
ct-ng menuconfig
I just change Local tarballs directory ,Prefix directory ,and change target os from
prebuilt to linux,
then,I build it,first time error happened at step "cc_core_pass_1 ",I google it
and found out it is about multilib,I need to install gcc-multilib and g++-multilib,
then,I continue,this time,error happened at step"cc_core_pass_2 ".
related messages in build.log:
[ALL ] Supported emulations: armelf_linux armelf armelfb armelfb_linux
[ERROR] collect2: error: ld returned 1 exit status
[ERROR] make[4]: *** [libgcc_s.so] Error 1
[ALL ] make[4]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared/arm-linux-gnueabihf/arm-linux-gnueabi/libgcc'
[ERROR] make[3]: *** [multi-do] Error 1
[ALL ] make[3]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared/arm-linux-gnueabihf/libgcc'
[ERROR] make[2]: *** [all-multi] Error 2
[ALL ] make[2]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared/arm-linux-gnueabihf/libgcc'
[ERROR] make[1]: *** [all-target-libgcc] Error 2
[ALL ] make[1]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared'
[ERROR]
[ERROR] >>
[ERROR] >> Error happened in: main[scripts/crosstool-NG.sh]
so,I really don't know how to do now,any help is welcome.Thank you
Cheers,Rick
Hi team,
In the GCC.pdf of gcc-linaro-aarch64-none-elf-4.8-2013.08, it says that -mcpu supports cortex-a53, but when I tried to build a simple hello bare metal application with -mcpu=cortex-a53 option, gcc reports,
Error: unknown cpu `cortex-a53'
Error: unrecognized option -mcpu=cortex-a53
Could you please confirm whether Cortex-A53/A57 performance tunning is supported?
Thanks.
Best Regards.
------------------------------------------------------------------
Zenon Xiu
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
We have spotted a problem with the GOT layout in binaries generated by the
2013.09 Aarch64 toolchain, causing them to crash on startup.
New builds fixing this issue are now available at
http://releases.linaro.org/13.09/components/toolchain/binaries
The arm-linux-gnueabihf and arm-none-eabi toolchains are not affected by
this problem - there is no respin version for those builds.
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:
http://releases.linaro.org/13.09/components/toolchain/binaries
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 ==
* AArch64 frame grows downward: no feedback yet.
* Disable-peeling: Vectorizer cost model has been changed upstream,
the current default now includes the effect of disabling peeling. I
have submitted benchmark jobs to check the exact effet; expecting some
regressions since the reduced test case I was working on now generates
the same code as with my patch.
* AArch64 bootstrap failure: build it still on-going, so still hoping
to reproduce it.
* GCC trunk validation:
- good progress on reporting
- cross-validating several configurations (currently 18) for each
upstream commit is too much for our compute farm to handle.
Reduced to patches related to ARM/AArch64, but then we can miss
regressions caused by other generic patches.
* Backports:
- committed a few simple ones.
== Next ==
* AArch64 frame grows downward: continue
* Disable-peeling/new vectorizer cost model: analyze bench results
* Backports : check which ones can be reasonably done
== Issues ==
* None.
== Progress ==
* 2013-10 release.
- Reviewed some backports.
* LRA on AArch32:
- Testsuite analysis showed one remaining issue in ARM mode
(with the movmisalignv8hi_neon_store insn handling).
- Ran Benchmarks on Calxedas, some failures due to the same bug.
- Benchmarks on tcpandas ongoing.
- Benchmarks results analysis ongoing.
== Next ==
* Continue on LRA.
== Progress ==
* libssp
Updated review comments given by glibc maintainer and rerun tests.
There are some test failures, suspecting issue in using
ALIGN_UP/DOWN macro. Debugging them.
* gprof support for aarch64
Upstreamed patches to GCC and backported to Linaro 4.8 branch.
Closed the cards for gprof work.
* 1-1 Meet with Christophe.
== Plan ==
* Continue libssp support.
* Restart Aarch64 boot strap in a server machine.
* Book hotel ticket for connect.
* PGO for aarch64
== Progress ==
* Fixed my laptop's desktop by upgrading to saucy & Gnome 3.10.
* Continuing with Jenkins/Cbuildv2/Git integration. Since this is
an ongoing task, I think I'm going to stop listing it every
week. :-)
* Fixed more bugs in Cbuildv2 when handling branches and revisions.
* Compared source tarballs for binutils and gcc, Linaro releases
against Cbuildv2 produced ones.
* Added support to Cbuildv2 for building binutils source releases
in the same style as src-release.
* Worked on aarch64 builds on real hardware to test adding
libatomic and go to builds.
* Added support to build all documentation, which is used when
building tarballs.
* Reviewed and applied Cbuildv2 patches from Ryan.
== Plan ==
* Try to work around problem with importing test results.
* Continued work on release building via Cbuildv2.
* Get Odroid boards working reliably, ordered AC powered USB hubs
to work around problem with exterrnal USB drives.
== Progress ==
* Traveled to Islamabad for US Visa Interview, got verbal confirmation
of visa. Passport will be back this week.
(TCWG-250)
* GDB ARM Process Record Thumb32 Support: Submitted a new patch
upstream which fixed bugs.
(TCWG-270)
* Tested arm process record bug fixes in various configurations to get
pass rate statistics for the new patch.
(TCWG-280)
* Reviewing changes required for syscall support for gdb arm process record.
== Plan ==
(TCWG-267), (TCWG-268) and (TCWG-269)
* Ping or Send response to comments.
(TCWG-280)
* Start implementation and complete most part of coding next week.
* If Passport comes back with visa stamped: plan/book travel to US,
gather connect related information and notify all concerned.
== Progress ==
* Lnaro 4.8 Bugfix
- Fixed Bugs LP1232017 and LP1234060
- gmp and mpfr make check now clean
* spec2k comparison between ARM and x86
- Looked at register allocation issues
- Started working on slides for connect
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Start again with 64bit division
== Misc ==
* October 7th Public Holiday.
== Progress ==
* Finished most new employee onboarding
* Setup Chromebook with Linux Ubuntu (crouton) development environment.
* glibc
[PATCH] Update generic swapon definition to match prototype.
* CBuildV2
[PATCH] Fix stamp-configure* name for git repos with specific named branches
[PATCH] Only return early on error following configure
[PATCH] Remove dryrun wrapper from git-new-workdir invocation.
[PATCH] Fix stamp name for git repos with specific named branches.
[PATCH] Remove lynx check from configure[.ac]. It's no longer used.
Started working on a patch to fix git working directory branch
name for named branches.
== Plan ==
* Install Fedora 19 on work laptop that just (Oct 4) arrived and
setup working environment.
* Finish first-pass fixes on cbuildv2.
* Complete patch to fix git working directory branch name.
* Start working on a glibc.git conf file to potentially move away
from eglibc.git.
* Fix cbuildv2 fetch time stamps. They seem to always be downloading
tar balls.
* Fix stamp output so that it doesn't imply that stamps or older
than a file when stamps do not yet exist.
== Issue ==
* Temporary desktop corruption and couldn't Linux 'rescue' from an
encrypted drive. Spent part of Tuesday rescuing my work environment
off the drive and reinstalling system.
== Progress ==
* EEMBC
- Ran on multiple boards, collected statistical data, wrote some scripts
to do it again
- Found a few regressions on GCC 4.9, reported internally
- Found 4 benchmarks in which LLVM is a lot worse
- Looking at RGBCMY which GCC is able to vectorise
- LLVM transforms the pointer access into a PHI cycle, which is wrongly
interpreted as a reduction variable by the loop vectorizer.
* Background
- Patch reviews and discussions as usual
- TCWG rack has arrived!
- Got another Chromebook and an ODroid XU to play with next week
== Plan ==
* Update script to rank the compilers according to EEMBC results on the
same machine
* Try to teach the loop vectorizer to not treat load/store PHIs as a
reduction variable
* Set up some temporary buildbots with new hardware
Hi,
With the patch I just sent to this list in place, gccgo builds for
aarch64. I don't know how well it _works_ -- "hello world" builds and
runs -- but I would like to ask what the process would be to get gccgo
included in the binary distributions of GCC that Linaro makes.
Cheers,
mwh
== Progress ==
* Got Odroid U2 board up and doing builds. Stock hardkernel kernel
images are unstable, keeps remounting USB drive read-only under
a load.
* Got the new support for branches and revisions for any toolchain
component working in Cbuildv2.
* Attended the 30th anniversary of the GNU project in Boston over the
weekend.
== Plan ==
* Continuing with Jenkins/Cbuildv2/Git integration.
* Try to work around problem with importing test results.
* Compare automated tarballs with the current release tarballs.
* Get Odroid U2 working reliably.
* Get Odroid X2 working.
== Issues ==
* Upgrading Gnome on my laptop destroyed my desktop to where
nothing worked, limiting productivity for a few days.
Hi,
With respect to the MPFR build error,
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58578), is movs appropraite
as shown below? When _err1 is negative the condition is evaluating it to
be true.
/* C Codeoes */
if (_err1 > 0)
{
/* working code */
.loc 1 67 0
cmp r3, #0
ble .L6
/* not working code*/
.loc 1 67 0
movs r3, r3, asl #1
ble .L6
When I looked at the ARM documents, I found the following
Condition flags
-------------------
If S is specified, for MOV instructions:
1. update the N and Z flags according to the result
2. can update the C flag during the calculation of Operand2 (see
Flexible second operand)
3. do not affect the V flag.
And also
le Signed less than or equal. (Z==1) || (N!=V)
Does this means we cant movs at comparision.
http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00861.html added this and I
guess it is intentional.
Am I missing anything here?
Thanks,
Kugan
== Progress ==
* AArch64 frame grows downward: no feedback yet.
* Disable-peeling: trying to tune the vectorizer cost model so that it
is less aggressive.
* AArch64 bootstrap failure: build it still on-going, so still hoping
to reproduce it.
* GCC trunk cross-validation:
- aarch64 added
- looking at how to handle compute farm jobs timeouts nicely
* Backports:
- launched several merge requests for a few individual patches.
== Next ==
* AArch64 frame grows downward: continue
* Disable-peeling: continue
* Backports : spend little time on checking the results
Progress
. worked on cleaning up arm config in gcc (TCWG-201)
. not really convinced I have a way to properly test the result
. a bit of bug triage
. a bit more on the 4.7 segfault bug (lp1215925)
Plans
. ping the arm*gnueabihf testsuite patch
. finish the config clean up
. revisit 4.7 segfault, now I have more suggestions from Matt
== Issues ==
* None.
== Progress ==
* Misc:
- Installed Saucy on Chromebook.
* LRA on AArch64:
- Committed RTL analyser patch.
- Committed patch which switch on LRA on AArch64.
* LRA on AArch32:
- Committed patch which fix failing assembly scan test with LRA.
- Committed LRA register notes DEAD and UNSUSED handling in LRA.
- Bootstrapped GCC with LRA on Chromebook.
- Analysis of testsuite results ongoing.
== Next ==
* Continue on LRA.
Short week (Tuesday and Wednesday went to US consulate Chennai for
VISA interview and document processing).
== Progress ==
* gprof support for aarch64
Re-based and tested. Asked permission for upstreaming in trunk.
Gibc patches are upstreamed. Thanks to Marcus.
* Aarch64 Boot strap failure.
Tried to reproduce it in V8 model. Build failing in stage 1 for me.
* 1-1 Meet with Christophe.
== Plan ==
* Back to libssp support.
* Aarch64 boot strap issue.
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
Misc
------
October 2 India Holiday.
== Progress ==
* MPFR and GMP Build error with Latest 4.8 Release
- Reproduced MPFR error with a simplified testcase
- Found the buggy codesequence and the patch that introduced it.
- Looking at solution for this
- Reprdouced GMP error with -march=armv7-a and -mthumb
- continuing with the invetigation
* 64bit division
- Looked at current libgcc implementaion and studied the alorithm.
* Addressing patch review
- Posted second patch for zero/sign extension
* spec2k comparison between ARM and x86
- Ran spec2k with various options to validate code analysis
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Continue 64bit division
* Fix GMP and MPFR build error
== Progress ==
(TCWG-270)
* Tested GDB Process Record/Replay and reverse debug feature for arm.
* Thumb32 support patch along with a couple of bug fixes made huge
improvement in testsuite results.
(TCWG-267) and (TCWG-269)
* Reviewed all previous submitted patches and wrote response patch updates.
* Implemented gdb/testsuite/gdb.dwaf2/dw2-error.exp using dwarf assembler.
(TCWG-268)
* Submitted patch for failing gdb/testsuite/gdb.dwaf2/dw2-case-insensitive.exp
(TCWG-272)
* Re-viewed and verified gdb bugs reported on launchpad and created
JIRA cards where required.
(TCWG-265)
* Generated Test data to test instruction decoding in arm specific
code of gdb process record/replay.
(TCWG-280)
* Reviewed previously submitted patches related to gdb process record
syscall support for arm targets.
* Submitted US Visa application for processing and got appointment for
Visa Interview.
* Reviewed all open JIRA cards and created new ones for future progress on GDB
== Plan ==
(TCWG-270)
* Submitt patch for bug fixes and show testsuite improvement with bug
fixes and thumb32 patch.
* Do more testing and analyse failures and try to fix them if possible.
* Verify issues reported by maintainers in old arm instruction decoding code.
(TCWG-267), (TCWG-268) and (TCWG-269)
* Update gdb/testsuite/gdb.dwaf2/dw2-error.exp as asked by gdb maintainers.
* Ping or Send response to comments.
(TCWG-280)
* Test syscall support with old patch and make changes if required.
* Travel to Islamabad on Tuesday to attend US visa interview early
morning Wednesday.
== Issues ==
* None
== Progress ==
* Update Conditional compare (CCMP) patch according to community comments.
* Investigate how to generate CCMP to support more than two compares.
- Investigate ifcombine to create more CCMP opportunities.
- Enhancing phiopt to handle CCMP case like:
if (a == 0 && b > c)
return 0
return a;
== Plan ==
* Continue on CCMP to support more than two compares.
== Panned leaves ==
* Oct. 1-7: National Day of China holiday
== Progress ==
* Profiling ImageMagick
- Clang 3.4-svn is around 10% less performing than GCC 4.7.3
- Mainly due to recursive octree-style map/reduce of most functions,
spending a lot of time
before/after branches
- Any optimization on that front won't fit the "Incubation" tag
* Profiling EEMBC
- Found 2 cases where Clang is *a lot* better than GCC 4.7.3 (pruning
bmark.c, producing much
smaller objects, and vectorizing telecom/autcor, which GCC can't)
- Most of the time, GCC is slightly better (~5% faster, ~10% smaller,
geomean)
- Wrote some scripts to run any two compilers against each other, compare
the results and
dump the ratios in a TSV file.
== Plans ==
* Update EEMBC Linaro image with Clang toolchain changes
* Look for low-hanging fruits in EEMBC
* Try comparison with GCC 4.8 and 4.9, too
* Find a way to extract Phoronix results in TSV format
== Progress ==
* Checked testsuite for glibc and gcc bootstrap on aarch64 native
* Released Linaro gdb 7.6.1 2013.09-1
* Submitted glibc pointer guard patch using TLS
* Submitted respin of pointer guard patch using a global variable
* Submitted binutils aarch64 ifunc patches for a second time
* A little bit of time on malloc
* Built office furniture!
== Issues ==
* None
== Plan ==
* Finish off pointer guard
* Hopefully back to malloc
--
Will Newton
Toolchain Working Group, Linaro
The Linaro Toolchain and Platform Working Groups are pleased to announce
the 2013.09 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.
This release introduces a set of experimental (pre-alpha) crosscompilers to
big-endian ARM architectures.
Uses include:
* Cross compiling ARM applications from your laptop
* Remote debugging
* Build the Linux kernel for your board
What's included:
* Linaro GCC 4.8 2013.09
* Linaro Newlib 2.0 2013.06
* Linaro Binutils 2.23 2013.06
* Linaro Eglibc 2.17-2013.07-2
* Linaro GDB 7.6 2013.05
* 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.
Interesting changes include:
* gcc updated to 4.8-2013.09
* Initial big-endian pre-alpha versions added
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:
http://releases.linaro.org/13.09/components/toolchain/binaries
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.
### About Linaro gdb
Linaro gdb is a release of the GNU debugger with bug fixes and
enhancements for ARM platforms. gdb allows interactive debugging of
C and C++ programs natively and remotely.
### Linaro gdb 7.6.1 2013.09-1
The Linaro Toolchain Working Group is pleased to announce the 2013.09-1
release of Linaro gdb 7.6.1, the first release in the 7.6.1 series.
This release is based on the latest upstream gdb 7.6 stable branch,
but with additional features and bug fixes.
#### Additional Features
* None
#### Bug Fixes
* Fixes for debugging on AArch64 with hardware breakpoints.
### Source
#### Release Tarball
* https://releases.linaro.org/13.09/components/toolchain/gdb-linaro
#### Development Tree
* git://git.linaro.org/toolchain/gdb.git
This release was built from the `linaro_gdb-7_6_1-2013_09-1_release` tag.
### Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
* Linaro Toolchain Development [mailing
list](http://lists.linaro.org/mailman/listinfo/linaro-toolchain)
* Linaro Toolchain IRC channel on irc.freenode.net at `#linaro-tcwg`
* Questions? [ask Linaro](http://ask.linaro.org/).
* Interested in commercial support? inquire at [Linaro
support](mailto:support@linaro.org)
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Finally got GCC 4.7 automatic updates working from launchpad.
* Continuing with Jenkins/Cbuildv2/Git integration.
* Added support for using specific commit IDs with Git and
Cbuildv2. Also many improvements to how git branches and
revisions are handled.
* Worked on importing testing results from Jenkins builds, there
seems to be a problem finding the .sum files when the build is
complete.
* Started getting new Odroid boards online running Ubuntu.
== Plan ==
* Work on getting Canadian Cross builds working in Cbuildv2.
* Finish getting Odroid boards setup.
* Compare automated tarballs with the current release tarballs.
* Continuing with Jenkins/Cbuildv2/Git integration.
* Try to work around problem with importing test results.
== Issues ==
* Phone and network access has been randomly down for extended
periods. I assume it's flood repairs related.
== Progress ==
* GCC trunk cross-validation:
- stabilizing reporting (dealing with thread tests giving unstable
results when run under qemu, timeouts caused by overload of the
compute farm, ....)
- adding aarch64
* Backports:
- updated list (57 candidates for 4.8-2013.03), discussed
prioritization and collaboration with ARM.
- sent 1st branch-merge candidate for testing, as a preparation to
partially backport a bug fix from Richard.
* Aarch64 frame grows downward:
- modified test-case shows that code can be better with frame grows
downward than upward, depending on variables order and layout.
== Next ==
* Backports
- start backporting to prepare 2013.10 release
* AArch64 frame grows downward: continue
* Disable-peeling: resume work
== Progress ==
* Visit to Cambridge (Tue - Thu) and annual leave (Fri).
* Applied gas fix for neon vector load/store constraints.
* Applied glibc memcpy performance tweak.
* Applied gdbserver AArch64 fix to trunk and branch.
* Updated gdb release process and built a release candidate.
* Started glibc ARM pointer guard work
== Issues ==
* None
== Plan ==
* gdb 2013.09 release
* Various small items arising out of meetings last week
* Complete glibc ARM pointer guard
--
Will Newton
Toolchain Working Group, Linaro
== Issues ==
* None.
== Progress ==
* LRA on AArch64:
- Validate Vladimir's patch to support
HARD_REGNO_CALL_PART_CLOBBERED macro in LRA.
- Reduced and analysed libstdc++ failures : they were due to PCH
usage, but the issue was fixed with a rebase on trunk's head.
- Testsuite is now clean.
- Waiting for my rtl analyser patch to be accepted.
* LRA on AArch32:
- No more libstdc++ failures, they were PCH related too.
- One more issue in ARM mode testsuite, related bad REG_NOTES info
after LRA pass.
- Reduced failing Thumb testcase.
== Next ==
* Continue on LRA.
== Progress ==
* Spent week in Linaro's Cambridge office, had meetings with team mates.
* Visited ARM office in Cambridge and met toolchain team there.
* Submitted patch for GDB Record and Replay thumb32 support upstream.
* Reviewed and reproduced gdb bugs reported on launchpad and changed
their status according.
* Reviewed previously submitted gdb patches and replied to comments if required.
* Reviewed x86 record syscall code in GDB for adding support for
recording ARM syscall record.
* Updated JIRA cards or added new issues against bugs or features.
== Plan ==
* Progress on record and replay feature by testing instruction set support.
* Review all open JIRA cards for GDB
* Work on getting previous patches committed or resubmit new ones.
* Submit US visa application for LCU13.
== Issues ==
* None
== Progress ==
* 2 day off on Chinese Mid-Autumn Festival
* Update conditional compare (CCMP) patch according to community comments.
* Work out a patch to fix PR 58423.
* Prepare LCU'13 Visa and hotel.
== Plan ==
* Continue on CCMP.
== Panned leaves ==
* Sept. 24 AM: US Visa.
* Oct. 1-7: National Day of China holiday
== Progress ==
* Addressing patch review
- zero/sign extension preparation patch accepted.
- Christophe is helping to commit.
* spec2k comparison between ARM and x86
- Looked at conditional code generation related code in gcc
- looked at ifcvt and code in arm.md and arm.c to understand the
heuristics that dictate how much to conditionalize and what is causing
some of the problems I am seeing.
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Start looking at 64bit division
== Progress ==
* gprof mcount support in glibc
Tested the patch and posted in libcports.
* Fix signal handler issue in glibc for profiling
Found issue with time profiling. Time profiling is obtained by setting up
SIG_PROF interrupt and kernal calls signal handler with interrupted pc
address. But in glibc, aarch64 port does not register the signal
handler properly.
Fixed and sent a patch to team for review. Tested the patch and
posted in libcports.
* Linaro connect - VISA application.
Applied VISA online and scheduled interview with US consulate.
* Libssp support for AArch64 TCWG 23:
Timeout issues disappears after increasing TIMEOUTFACTOR
Base glibc test results are captured in wiki
https://wiki.linaro.org/WorkingGroups/ToolChain/ReleaseAndInfrastructure/Cr…
* 1-1 meeting with Matt and Christophe.
== Plan ==
* Post RFC patch for Libssp support for AArch64 in GCC
* Continue testing the patch for Libssp support for AArch64 in GCC
and glibc TCWG-23.
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
Misc
------
Tuesday and Wednesday in Chennai to attend US VISA interview.
== Progress ==
* Trying to profile ImageMagick on A9
- perf is broken on Exynos 4, used Panda
- Linaro image doesn't have all PPAs
- Clang code 10% worse than GCC on some operations
- Code doesn't look that bad, but Clang on x86 is faster
- Will look into that next week
Background
- Meetings at ARM, Linaro
- Omair in Cambridge
- Patch review, fixing bots, discussions, etc
- Moved from Ubuntu to Mint 15, using Gnome Shell
== Plan ==
* Finally look into the profiler output
* Increase the profiling to other image operations
* Profile Phoronix results?
Hi,
In building some code (CRIU) that includes linux/if_packet.h for
x86_64-linux-gnu, arm-linux-gnueabihf, and aarch64-linux-gnu, some
discrepancies popped up relating to whether the TPACKET_V3 structures were
defined. It looks like the headers shipped with the 13.08 arm-linux-gnueabihf
toolchain do not define them, implying kernel headers older than October 2012.
The aarch64-linux-gnu toolchain on the other hand does have them defined. If
this analysis is correct, can I expect the kernel headers in the 32-bit
toolchain to be updated in the near future or should I really be generating
and referencing my own kernel headers?
Thanks,
Christopher
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.
== Progress ==
* GDB Record and Replay (TCWG-197)
Debugged code for an exception coming up in gdb code after applying
Thumb32 patch.
* Travel to UK on Wednesday night stopped in UAE for Thursday and Friday.
* Holiday on Thursday and Friday.
== Plan ==
* Working from Linaro Cambridge from Monday till Friday
* GDB Record and Replay (TCWG-197)
Fix issues Submit patch upstream.
* Meetings with team mates in Cambridge and visit to ARM.
== Progress ==
* 4.8 2013.09 backports:
- Finished ongoing reviews.
* LRA:
- Fixed and refactored rtl analyser patch, waiting fro upstream green light
- Reduced AArch64 testcase, and find the root cause of the issue:
Only 64 bits of callee saved registered v8-v15 are preserved, larger values
has to be handle by the caller, which not the case with LRA. Working on
the issue with LRA maintainer.
* LCU'13
- Hotel and flight booked
== Next ==
* Continue on LRA
== Issues ==
* None
== Progress ==
* Prepare Linaro toolchain binary 2013.09 release
- Create linaro-prebuilt-sysroot-2013.09.
- Update local patches and all Linaro samples to use
eglibc-linaro-2.18-2013.09.
* Update Conditional compare (CCMP) according to community comments.
Current method is:
- In fold-const, if HAVE_conditional_compare, set
LOGICAL_OP_NON_SHORT_CIRCUIT to true.
- Identify CCMP during expanding. A CCMP candidate is a BIT_AND_EXPR
or BIT_IOR_EXPR, whose operators are compares.
- Add a new op in optab to expand the CCMP to RTL, e.g.
and_scc_scc/ior_scc_scc in ARM.
- Testing is ongoing.
== Plan ==
* Send out the updated conditional compare patches for review.
== Panned leaves ==
* Sept. 19-21: Mid-Autumn Festival
* Oct. 1-7: National Day of China holiday
== Progress ==
* Set up a GCC git mirror on git.linaro.org. now at
ssh://LOGIN@git.linaro.org/srv/git.linaro.org/git/toolchain/gcc.git. The
two Linaro branches most people are interested in are now
'linaro-4.7-branch' (updated every 30 minutes from launchpad),
and 'linaro-4.8-branch' updated every 10 minutes from subversion.
* Tweaked Cbuildv2 & Jenkins to work with GIT repositories and
branches as well as source tarballs.
* Jenkins now "bootstraps" a cross compiler by building the native
GCC, and then using that to compile the cross GCC.
* Got aarch64-none-elf building with newlib via Cbuildv2.
* Source and binary tarball release support in Cbuildv2 now
works. I've had to change the naming convention to handle daily
automated builds, and added the commit ID of HEAD for git based
builds.
* Almost got Canadian crosses building via Cbuildv2.
* Continued work on Jenkins/Cbuildv2 integration.
* Cbuildv2 now works on Fedora as well as Ubuntu.
* Survived major 100+ year flood. Got to watch a dam overflow, kindof
cool, all the roads in and out of this area have been closed for days,
most of the bridges are gone. Been busy all weekend evacuating
people, car accidents, normal disaster area stuff. I worked Katrina
relief, never thought I'd see a flood in the mountains.
== Plan ==
* Continuing with Jenkins/Cbuildv2/Git integration.
* Get testing results from Jenkins builds imported via Junit conversion.
* Compare automated tarballs with the current release tarballs.
* Get Jenkins to upload binary & source tarballs to
snapshots.linaro.org.
* Add support for using specific commit IDs with Git and Cbuildv2.
* Finish getting Canadian Cross builds working in Cbuildv2.
* Odroids should arrive (when the roads open...) Monday, install
Ubuntu and do some tests to see if it's a good platform.
== Issues ==
* Flooding...
== Progress ==
* Addressing patch review
- Woking on vrp based zero/sign extension elimination based on feedback
- Reworked the patch based and posted the first patch
- Speck2k benchmarking in progress for second patch and will post
once finished.
* spec2k comparison between ARM and x86
- More benchmarks analysed.
- Started with the report. Plan to send in next couple of days.
- Created more reduced test cases.
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Start divmod work
== Progress ==
* Committed glibc realloc test
* Committed glibc malloc integer overflow patches and requested CVE number
* More work on glibc malloc benchmarking
* Investigated AArch64 gdb issue and submitted a patch
* Investigated gas NEON issue and submitted a patch
== Issues ==
* None
== Plan ==
* Visit Linaro in Cambridge from Tuesday to Thursday (see you there!)
* Submit glibc malloc benchmark
* Get benchmark numbers for tweaked memcpy
* Start glibc pointer guard work
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Patches
- Committed lzma fix for cross-compilation
- Split ARMv7 fixes in three patches, committed
- Reviewed many ARM patches
* ImageMagick benchmark
- Using IM's convert to test compiler performance
- LLVM seems pretty good on x86_64, par on A15 and behind on A9
when compared to gcc 4.7
- http://people.linaro.org/~rengolin/llvm/scripts/
* Profiling
- Found a serious bug in LLVM when emitting profile information
- mcount segfaults on prelude, luckily only on x86. :D
* Phoronix
- Found out that our problems with Phoronix were not unique
- Might need a bit more of work to get the build scripts changed
- And A bit more to get the data out of the reports
== Plan ==
* Profile IM's convert on A9 (after finding out why it's not generating
gmon.out)
* Hoping to find low-hanging SLP-vectorizer fruits... fingers crossed!
* Try something on Jenkins, hopefully it'll be easy to get Phoronix and
ImageMagick running on it
Progress:
* "aarch64 preparation" patchset now in upstream QEMU master.
For clarity: this doesn't enable anything by itself, but
it's an important foundation for the work being done by
people including Linaro, SuSE and Virtual Open Systems, and
getting it upstream is both helpful for that work and an
indication of progress.
* posted a new version of mach-virt patchset (with a PL011 UART)
* various planning meetings/calls
* put together a "testing" quality branch that integrates the
"-cpu host", "mach-virt" and OVS work on KVM v8 control:
git://git.linaro.org/people/pmaydell/qemu-arm.git aarch64-kvm
-- PMM
---
Hi all,
The reason for my most recent question on the list was that I was
investigating if gccgo targeting aarch64 would work. It turns out that
it's really close (to building and working for trivial programs, at
least): it depends on libatomic which explicitly does not support
AArch64, but when you try to build it, it appears to work fine. Hence
this patch.
Would it be possible for someone to:
a) test this for me, or
b) explain to me how to test it myself, and/or
c) send this upstream, or
d) offer advice on how to get it upstream myself?
I'd sort of prefer the "explain to me" versions as I also want to run
the gccgo/libgo tests :)
If someone knows why libatomic unsupports aarch64, that'd be even better
(maybe it's just that the sync intrinsics it uses weren't supported by
gcc on aarch64 at the time?).
Cheers,
mwh
libatomic/configure.tgt | 5 -----
1 file changed, 5 deletions(-)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index b9e5d6c..7eaab38 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -95,11 +95,6 @@ fi
# Other system configury
case "${target}" in
- aarch64*)
- # This is currently not supported in AArch64.
- UNSUPPORTED=1
- ;;
-
arm*-*-linux*)
# OS support for atomic primitives.
config_path="${config_path} linux/arm posix"
--
1.8.1.2
Hi,
Thanks to the advice from this list I've managed to build GCC targeting
aarch64 (thanks!).
Is there some way I can now run the tests in a Foundation model? I
don't really know how this would work -- I guess using
aarch64-unknown-linux-gnu-gcc etc to build binaries, scp them onto the
model, run them and parse the output. Is this the sort of thing that
people do?
Cheers,
mwh
Short week (2 days off).
== Progress ==
* 4.8 2013.09 backports:
- Reviewed and committed several
* Wiki cleanup:
- Started to review some pages.
* LRA:
- Refactored the two posted patches in one.
== Next ==
* Backports and Releases.
* LRA
* Book hotel/plane for Connect
== Progress ==
* Libssp support for AArch64 TCWG 23:
NFS mounted from build system into the model and ran cross eglibc
tests for a fresh SVN checkout.
Had some failures. Looking at library missing issues.
* Backports
Completed backports and merge requests. Yvan helping out to commit 201411.
== Plan ==
* Post RFC patch for Libssp support for AArch64 in GCC
* Continue testing the patch for Libssp support for AArch64 in GCC
and glibc TCWG-23.
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
Misc
-------
9-Sep-2013 AMD Bangalore holiday.
== Progress ==
* spec2k comparison between ARM and x86
- More benchmarks analysed.
- Plan to complete first iteration for spec2k-int benchmarks this week
* Addressing patch review
- Woking on vrp based zero/sign extension elimination based on feedback
- Started addressing comments for divmod optimization
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Wiki Cleanup
== Progress ==
* GDB Record and Replay (TCWG-197)
Completed writing most of gdb process record Thumb32 instruction handling code.
Created test data for various types of Thumb32 instructions
Performed testing fixed some coding mistakes and bugs.
* Visa Application
Filled US visa application online for LCU13.
Prepared US visa documentation to file visa immediately after coming
back from UK.
Made travel arrangement for UK visit.
== Plan ==
* GDB Record and Replay
Integrate gdb process record thumb32 support patch with gdb source and
perform testing.
Submit patch upstream.
* Travel and Visas
Collect travel information and travel to Cambridge UK by Sunday.
* Days Off
Thursday and Friday off for a small visit to Dubai before reaching UK on Sunday.
== Progress ==
* Started setting up a GCC git mirror on git.linaro.org.
* Tweaked Cbuildv2 & Jenkins to work with GIT repositories as well
as source tarballs.
* Jenkins now "bootstraps" a cross compiler by building the native
GCC, and then using that to compile the cross GCC.
* Got aarch64-none-elf building with newlib via Cbuildv2.
* Finished binary tarball release support in Cbuildv2.
* Almost got Canadian crosses building via Cbuildv2.
* Continued work on Jenkins/Cbuildv2 integration.
* Added ccache support to Cbuildv2.
* Cbuildv2 now works on Fedora as well as Ubuntu.
== Plan ==
* Finish setting up GCC git repository with Linaro branches
fetched from svn and bzr.
* Add support for building source tarballs.
* Continuing with Jenkins/Cbuildv2 integration. (waiting for GCC
git repository to be complete)
* Get Jenkins to upload binary & source tarballs to
snapshots.linaro.org.
* Finish getting Canadian Cross builds working in Cbuildv2.
== Issues ==
* Still waiting for Odroid hardware to get shipped.
* Waiting for git-bzr-ng to be installed on git.linaro.org.
* Git-svn is incredibly slow on initial fetch. (fetching the
linaro/gcc-4_8-branch has been running over 24 hours)
== Progress ==
* Worked on getting glibc benchtests into shape for string functions
* More wiki cleanup (done?)
* Backports and release of eglibc 2.18 2013.09
* Booked Cambridge trip for Sept 17th
== Issues ==
* None
== Plan ==
* More improvements to glibc benchtests for strings/malloc if possible
* Get back to malloc and stack guard work
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Backports for 2013.09:
- committed several
- reviewed
- submitted a few new ones
* Wiki pages cleanup
* GCC trunk cross-validation:
- need to work around results instabilities caused by incomplete
threads support in QEMU.
== Next ==
* Release 2013.09 next week after completing the latest backports.
* Resume investigation on perfomance regression with peeling disabled.
* GCC trunk validation: work on reporting
* Book hotel/plane for Connect
== Progress ==
* Cross-compilation
- Cleaning up v7A cores and features in Clang
- Writing document on how to cross-build using Clang/LLVM
- Creating bugs to deal with the issues found
- Adding LZMA library dep to cross-build in LLVM
- https://cards.linaro.org/browse/TCWG-200
* Divmod 64
- Long discussions about libcalls using registers with ARM
- Trying to revive my old patch due to future improvements from ARM
- It should also help future improvements on value_in_regs attributes, as
well as other library calls in registers or with multiple return values
- https://cards.linaro.org/browse/TCWG-199
* Maintenance
- Patch reviews, discussions, as usual
- Investigating breaking test-suite bot
- Added two pandas to the lab for general use
== Plan ==
* See that all patches created this week get through
* Have a look at automating Phoronix (via Jenkins)
* Find SLP-vectorizer regressions on ARM and fix them
Progress:
* rebased and fixed last issues in aarch64 prep patchset, sent it
out with a note that I'm going to put it in a pullreq to be
applied unless any further comments come up in review
* reviewed Christoffer's GIC save/restore patchset
* reviewed and cleaned up toolchain's QEMU wiki pages
-- PMM
### About Linaro eglibc
Linaro eglibc is a release of the eglibc C library with bug fixes and
enhancements for ARM platforms. eglibc is a variant of the GNU libc
designed to work well on embedded systems.
### Linaro eglibc 2.18 2013.09
The Linaro Toolchain Working Group is pleased to announce the 2013.09
release of Linaro eglibc 2.18, the first release in the 2.18 series.
This release is based on the latest upstream eglibc 2.18 stable branch,
but with additional features and bug fixes.
#### Additional Features
* None
#### Bug Fixes
* Fix for clone(2) built for Thumb2.
### Source
#### Release Tarball
* https://releases.linaro.org/13.09/components/toolchain/eglibc-linaro
#### Development Tree
* git://git.linaro.org/toolchain/eglibc.git
This release was built from the `linaro_eglibc-2_18-2013_09_release` tag.
### Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
* Linaro Toolchain Development [mailing
list](http://lists.linaro.org/mailman/listinfo/linaro-toolchain)
* Linaro Toolchain IRC channel on irc.freenode.net at `#linaro-tcwg`
* Questions? [ask Linaro](http://ask.linaro.org/).
* Interested in commercial support? inquire at [Linaro
support](mailto:support@linaro.org)
--
Will Newton
Toolchain Working Group, Linaro
Hi folks,
Since we won't be using Pandas for buildbots any more, I decided to put
them in the lab for general use. This is not LAVA or CBuild managed, and
the purpose is to test, and possibly benchmark, small applications, build
systems, native compilation, generated code, etc, in real hardware. For
this purpose, the Pandas are great, so there you have it.
There is no reservation mechanisms, but the etiquette is to "who" and
"top", and if you're the only active user, go for it. Multiple users can
use a single board if only testing, compiling, running code, but if someone
is benchmarking, would be polite to use the other board.
They're sporting a Linaro 13.03 release with kernel 3.5.0. If you need/want
access to them, just let me know.
cheers,
--renato
== Progress ==
* Backports for 2013.09:
- updated list, assigned some to team members
- submitted several requests
- quite a few of them exposed dependencies, making it necessary to
make several attempts.
* Aarch64 frame layout: posted sample code using large frame on
gcc-patches to get feedback.
* Disable-peeling: resumed regression investigation.
* Wiki pages cleanup
* trunk validation:
- continued to work on internal validation of trunk using our
compute farm (build+cross validation) to help catch regressions early.
== Plan ==
* Finish backports, sort out dependencies problems.
* Disable-peeling: investigate regression
* More wiki pages cleanup
* trunk validation: improve reporting
* install Ubuntu on Chromebook
== Progress ==
* Libssp support for AArch64 TCWG 23:
My approach to Cross testing eglibc from host failed since it needs
the build directories to be shared. Mounting the image in build
system and building eglic will not help as the changes will not be
reflected, in the image booted in V8 model dyanamically. The test
system only issues command via ssh but does not copy binary to the
model.
Need to try creating NFS mount from build system into the model.
* Backports
Lots of back porting and merging.
201624 and 201666 can be back ported together. Merge request submitted.
201406 to linaro branch. Small test case comment change. But the test
case fails in linaro 4.8, but passes in trunk.
It needs other revisions to be back ported, since vectorization
improvement in trunk. I tried back porting all relevant versions
r199402,r200394,r200600, r201282. But still fails since interface of
function get_loop has changed in trunk somewhere.
For 201411 look like need to hand pick and apply changes in arm.md
file. since lot of changes gone in that file and simple merge will not
be good. Also it may need some other revision to backport.
* TCWG-209, Looked at wiki pages, Christophe assigned to me and gave
some comments about updating/deleting them.
== Plan ==
* Post RFC patch for Libssp support for AArch64 in GCC
* GCC patch for gprof accepted, need to post patch in glibc.
* Continue testing the patch for Libssp support for AArch64 in GCC
and glibc TCWG-23. Try NFS mouting into the model.
* Backport 201411 201406 from trunk.
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
== Issues ==
* None
== Progress ==
* Conditional compare (CCMP)
- Design tens of test cases to verify the codes.
- Handle CCMP in vrp pass. If the compare in CCMP can be simplified,
CCMP will be converted to a copy, compare or a bit operator.
- Investigating to handle CCMP in jump-thread related optimization.
- Investigating bootstrap issue when expanding conditional compare
to optimized RTL.
. It seams that there are illegal combinations of different
compares since bootstrap OK if the two compares of CCMP have the same
CODE.
. Current check bases on function "arm_select_dominance_cc_mode".
Need narrow down the root cause.
== Plan ==
* Continue on conditional compare.
== Panned leaves ==
* Sept. 3-6: internal meeting.
== Progress ==
* spec2k comparison between ARM and x86
- Initiated discussion and addressing the feedback
- Looking at register allocation (IRA + Reload) for reduced test
case and comparing with x86
- Analysed few more spec2k benchmarks
* Back-porting
- All the back ports are checked and reviewed. Thanks Yvan.
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Wiki Cleanup
== Progress ==
* More work on Jenkins/Cbuildv2 integration.
* Finished reviewing all 81 wiki pages I had to review.
* Added a 'dryrun' option to Cbuildv2 that displays all configure
and make command lines without executing them as a learning aid.
* Added 'make check' to toolchain builds via Jenkins/Cbuildv2.
* Added a simple "Hello World" test case in C++ to toolchain builds
in Cbuildv2 to make sure the fresh build minimally works.
* Added several more sections to the Cbuildv2 Usage wiki page.
* Cbuildv2 can now downloads and builds several projects/ (QT, GTK,
etc...) as a toolchain test.
* Got the LAVA team to make many tweaks to Jenkins and other stuff
to support TCWG needs for Cbuildv2. Now Jenkins does a toolchain
build of all supported architectures for each commit to GCC
upstream.
* Two small wildland fires this week, plus 3 motorcycle accidents.
== Plan ==
* More work on binary releases via Cbuildv2.
* Import test results into Jenkins.
* Continued work on Jenkins/Cbuildv2 integration.
== Issues ==
* Libmudflap, needs -ldl, or make check fails when linking with
--as-needed (used on Ubuntu by default).
* On chromebook using a raring chroot, 'make check' for mpfr has
these three test cases: tasinh, tcot, and tcsc which consume all the
memory and hang when run with the other infrastructure libraries via
Cbuildv2. The ttan and tsinh tests segfault, and tgamma return an
incorrect result. These same test cases all pass if I use Cbuildv2
to only build and test mpfr. Weird...