== Issues ==
* None.
== Progress ==
* LRA on ARM and AArch64:
- Tried to workaround the issue with new insns (reload_outdi,...).
- But it doesn't seem to be handle by LRA.
- Debug still ongoing.
* Internal meetings
== Plan ==
* Releases merge reviews
* LRA
== Progress ==
Very short week (monday and wednesday off).
* AARCH64 testing
Got boot strap failure with GCC 4.9 trunk on open embedded image with
glibc changes. Retired with latest openembedded image on V8 model
Noted down the steps to reproduce boot strap failure in the model for
broadcasting.
* libssp support for Aarch64
Read documentation to understand and evaluate the work.
== Plan ==
* Continue bootstrap testing and push patches to GCC
* Implement Libssp GCC back end hooks.
* Linaro connect travel prep, book tickets hotel and apply visa.
== Progress ==
* VRP based zero/sign extension
- Tested and posted the latest patch
* Better end of loop counter optimisation
- Tree level optimization are optimized in mainline
- Christophe noted a slight change in asm generated from earlier
version
- tracked down the patch causing this and communicated this.
* Generate a single call to divmod
- Looked at expand_divmod to understand how __aeabi_idiv and
__aeabi_idivmod are generated.
== Plan ==
* Better end of loop counter optimisation
- Change the pattern to remove this additional instruction if
necessary.
* Generate a single call to divmod
- Come up with a solution
== Issues ==
* None
== Progress ==
* Shrink wrapping improvement (TCWG-133)
- Call copyprop to optimized the parameter register move instructions.
- Test is ongoing.
* Update aarch64-none-elf toolchain newlib version to 2.0~20130530 (lp:1185711).
== Plan ==
* Collect performance data for TCWG-133.
* Continue on conditional compare.
Best Regards!
-Zhenqiang
== Progress ==
* Monday holiday here too, so went mountain climbing
* Finally fixed Lava token for cbuild
* Dug into EC2 issues, still confused
* Cloned infrastructure files from gcc.gnu.org, which turned out to be
out of date, so updated them to the current releases. That then
required fixing a few minor configure bugs in libppl. Files in
~/cbuild/var/snapshots/infrastructure. Infrastructure libs are
statically linked so they're consistent across platforms.
* Worked on cbuildv2, it now downloads a tarball or does a
bzr|git|svn checkout, configures, compiles, and installs them in
a sysroot as other packages depend on them. Also added a function
to download, build, and install all the toolchain infrastructure
libraries in a sysroot for binutils & GCC to use at build time
https://git.linaro.org/gitweb?p=people/rsavoye/cbuild2;a=summary
* Automated import of all historical test results till running.
Currently
the DB has 137,687,996 test results, 1909 separate test runs of GCC,
and covering 544 versions.
== Plan ==
* Add remote SSH support to DejaGnu for remote testing on
Chromebook. (carried over from this week)
* Figure out the EC2 mess and document it better
* Clone gcc_release.sh script but enhance so a similar process can be
applied to releasing Eglibc, Newlib, and the Binutils.
* Start gearing up for the releases
* Finish cross build and testing support in Cbuildv2, which would
basically eliminate the need for crosstool-ng.
== Progress ==
* 4 day week due to bank holiday.
* Merged binutils arm ifunc changes onto stable branch.
* Worked on getting some git mirrors setup for various toolchain deliverables.
* A certain amount of planning and JIRA card work in preparation for
the next iteration.
* Fixed aarch64_be-* and aarch64-elf testsuite issues with AArch64 ifunc patch.
* Investigated glibc malloc and alternatives.
== Issues ==
* None.
== Plan ==
* Submit new AArch64 ifunc patch after testing complete.
* Finish getting git mirrors setup.
* Look at some gdb testsuite failures.
--
Will Newton
Toolchain Working Group, Linaro
[very short week; two days]
Progress:
* misc
** handover from John Rigby: got a QEMU+KVM+AArch64 setup running with
his work-in-progress patchset
** tracked down weird behaviour when ^C'ing qemu on aarch64
to a bug in glibc's getcontext() implementation (it doesn't
clear the PSTATE field and ends up passing a garbage pstate
to the rt_sigreturn syscall)
Plans:
* VIRT-55: talk to Andre about testing; investigate testing migration
using LAVA
* set up a new qemu-linaro tree/branch as our CI/LAVA input [to keep it
separate from our "we release this" tree]
* restart work on upstreaming omap3 patches as part of my generic qemu
maintenance work (will reduce our maintenance burden in the long term)
-- PMM
== Progress ==
* 3.3 Release
- RC2 is out, we'll have an RC3 (critical bug on X86_64/Darwin)
- Adding some docs to the release
* Infrastructure
- Installing Ubuntu on Chromebook, automating bootstrap+test-suite
- Running the test-suite on a BeagleBoard (LLVM 3.2 and 3.3), no
regressions
- Trying to run an LLVM CBuild job
* Buildbots
- Chasing GCC internal failure on self-host bot
- Chasing more MCJIT failures on all bots
== Issues ==
- Upgrading to 13.04 was a big mistake, had to rollback to 12.10 and
re-configure my whole environment
- Office network/power grid is insufficient for the current population,
I'll be working from home from now on
== Plan ==
* Continue with CBuild for LLVM
* Setup continuous build for bootstrap+test-suite
* Automate Phoronix, setup CI
* If CBuild is done, try running benchmarks with LLVM on it
* As hardware become available, set them up as buildbots
We are using the Linaro prebuilt binary 2013.03 toolchain.
We have a program that does a memcpy of 6 bytes and the source and
destination pointers are both 6 byte arrays (through multiple levels of
struct & union etc).
At -O2 we get the memcpy inlined.
The code area in question is:
22840: f8b7 2054 ldrh.w r2, [r7, #84] ; 0x54
22844: f853 1d12 ldr.w r1, [r3, #-18]!
22848: f042 0202 orr.w r2, r2, #2
2284c: 889b ldrh r3, [r3, #4]
2284e: b292 uxth r2, r2
->22850: f8c7 101a str.w r1, [r7, #26]
22854: f8a7 2054 strh.w r2, [r7, #84] ; 0x54
22858: 83fb strh r3, [r7, #30]
2285a: f8da 3000 ldr.w r3, [sl]
And we get an alignment fault at the str.w marked above.
Looking at the types involved and their location in the containing
structures I don't see how the compiler could think that the destination
was word aligned
(I believe it is guaranteed that dest % 8 == 6)
There are no -march -mcpu or -mtune params passed to the compiler. The
code is running in user space on a A15.
Basic question before we look further:
Is the compiler assuming that cp15 SCTLR.A is 0 so that it is free to
generate unaligned loads and stores?
If the answer to the above is "no" we can isolate the code more and
bring it back to the list.
Thanks,
Bill
---------------------------------------
William A. Mills
Chief Technologist, Open Solutions, SDO
Texas Instruments, Inc.
20450 Century Blvd
Germantown MD 20878
240-643-0836
The Linaro Toolchain and Platform Working Groups are pleased to announce
the 2013.05 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.8 2013.05
* 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 4.7 is no longer included
* gdb is updated to 7.6
* Linux release file names no longer include a date to make life easier
for scripted downloads
* ISL/CLooG support is enabled in all 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:
https://launchpad.net/linaro-toolchain-binaries/trunk/2013.05
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.