= Progress ==
* Went to UK VISA office and submitted application and bio metrics (2/10)
* Tried Installing chrubuntu on chromebook. But failed and later found that
SD card issue. Given SD card back in office for replacement. Installed
crouton and other packages for building gcc and testing gcc testsuites
(1/10)
* Reload spill failure (bug fix) on armhf target (3/10)
Tested conservative patch that prevent ior_scc_scc patterns for thumb2
target using chrome book.
Thumb2 compare condition test cases fails. Found that these test cases
using constants for operands 2 and 5. Change conservative patch to allow
constant operands for thumb2 target in ior_scc_scc patterns. Testing is in
progress.
* LTO experiments (2/10)
Drilling down ICE with LTO on GCC 4.9 branch.
* Misc (1/10)
- 1-1 meetings (Ryan, Christophe) (0.5/10)
- AMD internal support work and meetings (0.5/10)
* Installed some packages and tested christophe libsantizer patch on
hardware (1/10)
== Plan ==
* Continue bug fixing.
* LTO bootstrap failure
== Progress ==
* Public holiday (2/10)
* Benchmarking and regression testing (TCWG-468) (8/10)
- Ran release benchmarking in chrome-book
- Set-up package build environment and ran ubutest
- spec2k benchmarking of patches that was included in 2014.06 release
on aarch64
== Plan ==
* Benchmarking.
* Upstream zero/sign extension elimination activities.
== Issues ==
* None.
== Progress ==
* Work out 4 patches to enhance loop2-invariant heuristics and send
out for community review (TCWG-469, 3/10).
* Test the rebased ccmp patches (TCWG-488, 2/10).
* Investigate how to optimize large constant. Patch is in testing
(TCWG-486, 5/10). Basic idea is:
- Do not split large constant when expanding.
- Improve cprop pass to check the rtx_cost when propagating constants.
== Plans ==
* Ping pending patches.
* Send out ccmp patches for review.
* Send out patches to optimize constant.
== Progress ==
* Kernel (CARD-1246 1/10)
- Helping LLVMLinux to test in LAVA
* Background (9/10)
- Code review, meetings, discussions, etc.
- Setting up Chromebooks again (up, crouton)
- Setting up APM boards (up)
- Setting up D01 boards (bricked 2)
== Plan ==
* work with guodong, fabo, tyler, to revive the D01s
* put crouton on llvm-chrome-test to be ready for release 3.5
* have a look at compiler-rt autoconf build
* keep helping LLVMLinux with LAVA
Monday off. (2/10)
== Progress ==
* GCC trunk cross-validation (CARD-647) (3/10)
- improved scripts to avoid consuming to much memory
- improved kill signals handling when generating reports
- back to normal
- started looking at adding libstdc++ in the reports
- started looking at adding aarch32/armv8 configuration
- email-driven robot looks operational. Started testing with Kugan
* GCC 4.9 branch cross-validation (CARD-647)
- it's now running
* Neon intrinsic tests (CARD-???) (2/10)
- discussion started: scan-assembler directives may be difficult to maintain
- original testsuite maintenance: preparing aarch64 support
* AArch64 libsanitizer support (TCWG-58)
- Venkat tested my patch on HW, need to study the results and
compare with qemu
* Misc (meetings, conf-calls, ...) (3/10)
- 4.7-2014.06 branch merge prepared, validation started
== Next ==
* GCC cross-validation
- check patch to add libstdc++ in the reports
- define configuration for aarch32/armv8
- continue testing of the email robot
* Neon intrinsics tests:
- handle feedback
- original testsuite: continue aarch64 support, investigate output
formatting problems
* AArch64 libsanitizer support:
- analyze results
- use cbuild2 + tcwgbuild configs to run the tests myself on HW
* Backports reviews
The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2014.06
stable release of the Linaro GCC 4.9 source package.
Linaro GCC 4.9 2014.06 is the third Linaro GCC source package release in the
4.9 series. It is based on FSF GCC 4.9.1+svn211054 and includes performance
improvements and bug fixes.
With the imminent release of ARMv8 hardware and the recent release of the
GCC 4.9 compiler the Linaro TCWG will be focusing on stabilization and
performance of the compiler as the FSF GCC compiler approaches version 4.9.1.
The Linaro TCWG will provide monthly stable[1] source package releases until
FSF GCC 4.9.1 is released. At that point Linaro GCC 4.9 will merge in
FSF GCC 4.9.1 and, release Linaro GCC 4.9.1, and then return to a schedule of
stable quarterly releases and monthly engineering[2] releases.
Interesting changes in this GCC source package release include:
* Updates to GCC 4.9.1+svn211054
* Backport of [AArch32] PR rtl-optimization/60663
* Backport of [AArch32] Suppress Redundant Flag Setting for Cortex-A15.
* Backport of [AArch32] Support ORN for DIMode.
* Backport of [AArch32] Optimise NotDI AND/OR ZeroExtendSI for ARMv7A.
* Backport of [AArch32] Allow any register for DImode values in Thumb2.
* Backport of [AArch32] Initialize new tune_params values.
* Backport of [AArch32] Initialise T16-related fields in Cortex-A8
tuning struct.
* Backport of [AArch32] Enable tail call optimization for long call.
* Backport of [AArch64] TRY_EMPTY_VM_SPACE Change for ILP32.
* Backport of [AArch64] Fix TLS for ILP32.
* Backport of [AArch64] vrnd<*>_f64 patch.
* Backport of [AArch64] Fix possible wrong code generation when
comparing DImode values.
* Backport of [AArch64] Add a space to memory asm code between base
register and offset.
* Backport of [AArch64] Fix aarch64_initial_elimination_offset calculation.
* Backport of [AArch64] vqneg and vqabs intrinsics implementation.
* Backport of [AArch64] Vreinterpret re-implemention.
* Backport of [AArch64] Define TARGET_FLAGS_REGNUM.
* Backport of [AArch64] Merge longlong.h from glibc tree.
* Backport of [AArch64] add, sub, mul in TImode.
* Backport of [AArch64] Add handling of bswap operations in rtx costs.
* Backport of [AArch64] Fully support rotate on logical operations.
* Backport of [AArch64] Use standard patterns for stack protection.
* Backport of [AArch64] VDUP Testcases.
* Backport of [AArch64] Vectorise bswap[16,32,64].
* Backport of [AArch64] Enable TBL for big-endian.
* Backport of [AArch64] Reverse TBL indices for big-endian.
* Backport of [AArch64] Relax modes_tieable_p and cannot_change_mode_class.
* Backport of [AArch64] Improve vst4_lane intrinsics.
* Backport of [AArch64] Rewrite and tests ZIP Intrinsics.
* Backport of [AArch64] libitm Enabled.
* Backport of [AArch64] Support full addressing modes for ldr/str in
vectorization scenarios
* Backport of [AArch32/AArch64] rtx costs (FMA, Cortex-A8, ...).
* Backport of Fix warning in libgfortran configure script.
* Backport of Remove PUSH_ARGS_REVERSED from the RTL expander
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@
* Bug reports should be filed in Launchpad against "Linaro GCC project":
http://bugs.launchpad.net/gcc-linaro/+filebug.
* Questions? "ask Linaro":
http://ask.linaro.org/.
* Interested in commercial support? inquire at "Linaro support":mailto:
support(a)linaro.org
[1] Stable source package releases are defined as releases where the full Linaro
Toolchain validation plan is executed.
[2] Engineering source package releases are defined as releases where the
compiler is only put through unit-testing and full validation is not
performed.
== Progress ==
* GDB arm v8 record/replay
-- Fixed issues showing up when building code with default
optimization. [TCWG-484] [3/10]
-- Fixed failures in until-reverse test cases. [TCWG-484] [1/10]
-- Investigation of failures in watchpoint-reverse and solib test
cases. [TCWG-484] [2/10]
-- Writing NEWS and changelog entries for all patches. [1/10]
* GDB Remote vs Native feature parity (GDB on Android improvements)
[2/10] [CARD-321]
-- Scored through recently submitted patches.
-- Ran testsuite in native and remote modes.
-- Started review of related open jira cards
* Miscellaneous
-- Visit uk visa office for passport collection. [1/10]
== Plan ==
* GDB arm v8 record/replay
-- Update all patches after upstream comments.
-- Investigate all remaining testsuite failures.
-- Update all related jira cards and create new for persisting test failures.
* GDB arm v7 record/replay
-- Update and resubmit upstream.
* GDB Remote vs Native feature parity (GDB on Android improvements) [CARD-321]
-- Further progress towards creating a tasks list and timeline.
* Miscellaneous
-- Finalize travel and obtain health certificate for travel to UK.
== Progress ==
* Zero/sign extension elimination (TCWG-15) (2/10)
- Posted patch for comment
* benchmarking (TCWG-468) (1/10)
- Ran a53 benchmarks
* regressions (7/10)
- THUMB1 regression for ARM fenv
* Issue due to thumb1 not supporting mrc/mcr. Patch to fix this is
posted for review.
- Regression when allocating 128bit integer to VFP register
* When LRA assigns DImode value to TImode register, it is not
setting up it in the right place of TImode. Due to this, one of the
moves becomes dead. Patterns needs to be checked.
* VFP registers store big-endian values in little-endian format.
Hence, subreg for mode greater than word has to
be aware of this. As it is, aarch64_cannot_change_mode_class will need
the fix like done in ARM.
== Plan ==
* Benchmarking.
* Upstream zero/sign extension elimination activities.
= Progress ==
* LTO experiments (3/10)
Tested with various compiler revisions and in native X86 machines. Compare
errors in gcc 4.9 Linaro 14.05 version. Aarch64, LTO bootstrap passes in
trunk. On FSF GCC 4.9 branch encountering ICE. Opened PRs in GCC Bugzilla.
* Misc (2/10)
- 1-1 meetings (Ryan, Christophe and Maxim) (0.5/10)
- AMD internal support work and meetings (0.5/10)
Sick Leave on 2nd June (2/10)
UK VISA application processing (3/10)
== Plan ==
* UK VISA processing attend interview, biometrics.
* Continue bug fixing.
* LTO bootstrap failure
* Test libsanitizer patch for christophe.
=Progress=
lowlevellock performance bugs - TCWG-435 [1/10]
* All ready to go
cbuild benchmarking - TCWG-360 [4/10]
* Completed a draft implementation for spec2k
* Parked pending review
Meetings/mail/etc [5/10]
=Plan=
Send lowlevellock patches to list
Get back to benchmarking/improving cortex-strings memset
== This week ==
Backported Launchpad 1234146 - Bad Neon intrinsics code gen when using
ld4/st4 on AArch64 (2/10)
Bug Investigations (4/10)
Launchpad Bug 640521 - Incorrect function prologue with Thumb-1
high register variable
Launchpad Bug 1318831 - Invalid unpoisoning of stack redzones on ARM
Launchpad bug 771832 - bogus reference to unused symbols
Launchpad cleanup (4/10)
- 1305042 - Changed status to invalid
- 634731 - Marked as won't fix for older releases. Improved code
generated for 4.8 and 4.9
- 637882 - Marked as won't fix for older releases. Improved code
generated for 4.8 and 4.9
- 638687 - Changed status to invalid. Code for alloca is correct
and alignment is necessary
- 1312931 - Could not verify.
- 772085 - Marked as won't fix for older releases. Fixed in 4.8 and 4.9
- 1225317 - Marked as incomplete due to lack of test case
== Next week ==
Vacation
== Future ==
No Plans.
== Issues ==
* None
== Progress ==
* CARD-1162 : Linaro GCC 4.9 and CARD-1355 : stabilization and
optimization effort for ARMv8-a (8/10)
- Put the backporting script on https://git.linaro.org/toolchain/backflip.git
(documentation still needed)
- FSF branch merges for 4.9 and 4.8
- Backported requested fixes in 4.9
- Validate merges and some backports in cbuildv1
- Looked at the different results we have in cbuildv2 and cbuildv1
- Still some issues in Jenkins (build crash or are stuck)
- 40 backports stiil need validation
* Misc: (2/10)
o Various meetings.
== Next ==
* Complete FSF branch merges and release 4.9-2014.06
* Document backporting script usage
* Continue feedback and help with the validation
== Issues ==
* None.
== Progress ==
* One day off.
* Clean up and test loop2-invariant heuristic tune patches (TCWG-469, 6/10).
* Rebase conditional compare patches and split them into smaller ones
(TCWG-488, 2/10).
== Plans ==
* Send out loop2-invariant heuristic tuning patches for review.
* Rework on the conditional compare patches.
== Progress ==
* Toolchain (CARD-862 0/10)
- Some investigations on LLVM Linkers
* Background (10/10)
- Code review, meetings, discussions, etc.
- Cleaned up the rack, drown a map
- Jenkins Chromebooks with native Arch Linux
- Failures and problems ensued...
- More time wasted on APMs, but some progress was made
- All Chromebooks had I/O errors on SD cards, starting over
== Plan ==
Spend the weekend and the next week re-flashing Chromebooks
== Progress ==
* GCC trunk cross-validation (CARD-647) (6/10)
- recent LRA change to fix AArch64 compiler causes huge memory consumption.
- this has caused my validations to crash several servers, and I had
to stop them
until I could restart reliably.
- so far unable to restore them
- trying to test LRA tentative fix separately, but results are unreliable too
- tested Thomas Preud'homme patch (bswap-2.c), luckily before
everything became unstable.
* GCC 4.9 branch cross-validation (CARD-647) (1/10)
- validation scripts needed some adaptations to handle the 4.9-branch
- not running yet, until the trunk problems are solved
* Neon intrinsic tests (CARD-????) (1/10)
- submitted patch series containing 40 test files (total will be 136)
* AArch64 libsanitizer support (TCGW-58)
- qemu still needs a patch of mine which I thought had been
committed since February..
- once patched, the sanitizer tests now start executing but lead to
SEGV+timeout
* Misc (meetings, conf-calls, ...) (2/10)
== Next ==
* short week (Monday off, lots of external constraints)
* GCC cross-validation:
- hopefully fix unstability and restore the automatic validations of
trunk + start those of 4.9 branch
- try to actually start mail-driven robot to validate patches
* Neon intrinsics tests: handle feedback
* AArch64 libsanitizer support: look at why tests fail
== Progress ==
* Holiday Monday and Tuesday (4/10)
* Write some scripts to graph malloc app benchmark results (1/10, TCWG-418)
* Patch review and testing (2/10)
* Released eglibc 2.19 2014.06, binutils 2.24.0 2014.06 and gdb 7.7.1
2014.06 (3/10)
== Issues ==
* None
== Plan ==
* Get wg boards running for validation
* More malloc benchmarking
--
Will Newton
Toolchain Working Group, Linaro
== Week of June 2nd ==
- Toolchain testing improvements (CARD-1378, 8/10)
-- Implemented schroot testing inside cbuild2. This will allow both Jenkins automation and developers to use schroot testing approach.
-- Automated board configuration for schroot testing.
-- Started cleaning up and committing my testing changes to cbuild2 and dejagnu.
- Various discussions (1/10)
- NZ public holiday (2/10)
- Celebrated! My! Happy! Birthday!
--
Maxim Kuvyrkov
www.linaro.org
== Week of May 26th ==
- Toolchain testing improvements (CARD-1378, 8/10)
-- Prototyped parallelization of testing across several ARM board. Turns out that striping tests across target boards does not give much as host is the bottleneck in our setups.
-- Prototyped testing using GCC's shared libraries and newly-built sysroot (instead of using system libraries on the target).
-- Prototyped testing using schroots -- this appears the way to go about our toolchain testing. For each test run a schroot session is started on the board, complete with a dedicated SSH server and freshly-built sysroot. After testing is done schroot session is closed and everything is cleaned up including disk files and stray processes.
- Various discussions (2/10)
--
Maxim Kuvyrkov
www.linaro.org
== Week of May 19th ==
- TCWG development environment (TCWG-483, 2/10)
-- Followed up on various package requests and backup settings.
- STREAM performance regression (TCWG-388, 3/10)
-- Tested, posted upstream and committed first batch of patches.
- Toolchain testing improvements (CARD-1378, 4/10)
-- Discussed testing design and approaches with the team.
-- Prototyped various approaches to testing.
- Various discussions and bits of administrivia.
--
Maxim Kuvyrkov
www.linaro.org
Hi,
I'm trying to follow
https://wiki.linaro.org/WorkingGroups/ToolChain/Using/GCCNative but it
looks like it is outdated? Can someone confirm?
E.g.:
configure: WARNING: unrecognized options: --disable-bootstrap,
--with-mode, --with-arch, --with-tune, --with-fpu, --with-float
--
João M. S. Silva
== Issue ==
* None.
== Progress ==
* Commit the fixes for pr61220, 61278 and part of 61225. The patch to
fix other part of 61225 is still in review (2/10).
* Loop invariant heuristics tuning. Tests are ongoing. (7/10, TCWG-763)
* Rebase conditional compare patches. Tests are ongoing.
* Prepare UK visa.
== Plans ==
* Send out loop-invariant heuristic tuning patches for review.
* Rework on the conditional compare patches.
== Leaves ==
* June 2.
== This week ==
- Memorial day holiday Monday (2/10)
- Investigated launchpad 1295738 - [4.8 Regression] unable to find a
register to spill in class 'LO_REGS' [CARD-300](2/10)
- Will mark as unlikely to fix (reload error); works with LRA and/or
with -fomit-frame-pointer
- Investigated launchpad 757427 - gconftool-2 segfaults on arm
[shrinkwrap] [CARD-300](2/10)
- Segfault not reproducible in linaro 4.8 or 4.9
- Shrinkwrap bug not reproducible in linaro 4.8 or 4.9
- Investigating launchpad 1225317 - gcc mis-compiles (large-value) jump
tables with -fPIC or thumb2 [CARD-300](1/10)
- Investigating launchpad 1234146 - Bad Neon intrinsics code gen when
using ld4/st4 on AArch64 [CARD-300] (2/10)
== Next week ==
- Resolve Launchpad bugs 1225317 and 1234146
== Future ==
No Plans.
== Planned holidays ==
Possible vacation June 16th - June 20th