== Issues ==
* None.
== Progress ==
* 1.5 days off.
* Misc update for Linaro crosstool-ng
- Re-enable parallel build for do_cc_core.
- Add linaro-armeb-none-eabi config.
- Update all CT_TOOLCHAIN_PKGVERSION to "Linaro GCC 2013.11"
* Share toolchain binaries configures to cbuild2 group.
* Backporting r200103 and r205509 to linaro 4.8.
* Collect Spec2k INT results with -fno-move-loop-invariants and
-fira-loop-pressure on X86-64 and ARM Chrome book. Performance of
different cases waves from -2% - 2%. But the overall performance
changes < 0.5%.
== Plan ==
* Continue on CCMP.
== Progress ==
* Setup new git mirror of new binutils-gdb.git repository, and
added a cron job to update it every 10 minutes. (#369, .5/10)
* Started modifying Cbuildv2 to use new binutils-gdb
repository, which changes how we parse URLs. (.5/10)
* Modified Cbuildv2 to produce fully statically linked binaries so
32bit ones run on any distro, including 64 bit. (#368, 3.5/10)
* Worked with LAVA team to set up a private Jenkins for TCWG use
only to protect test and benchmark data. (#379, 2/10)
* Fixed Cbuildv2 bug where the dryrun function wasn't properly
trapping configure and build errors. (.5/10)
* Meetings & Card maintainance. (2/10)
* Quick winter camping trip at the hot springs for my bday, hit -38C !
== Plan ==
* More tweaks to source and binary tarball creation.
* Finish modifying Cbuildv2 to use new binutils-gdb repository.
* Fix all the minor bugs caused by properly trapping errors from
dryrun function.
* Make the new Jenkins build in a 32 bit chroot on the TCWG build
machines
* Figure out why Jenkins doesn't import the Junit files.
* Copy .sum files to remote host.
* If new Arndale or APM boards arrive this week like promised,
start evaluating them.
* Get the S&M team to start using Gerrit for merge requests for
Cbuildv2.
== Progress ==
* TCWG-367 drop --dostep, add --checkout (1/10)
Completed with following git commits:
commit 2d4d7588c1b05801ee5e1a924c8641ff7c322c07
Author: Ryan S. Arnold <ryan.arnold(a)linaro.org>
Date: Fri Dec 6 11:46:40 2013 -0600
cbuild2.sh: remove --dostep. It's no longer supported.
Also added testcase to make sure it returns an error.
Author: Ryan S. Arnold <ryan.arnold(a)linaro.org>
Date: Fri Dec 6 10:57:34 2013 -0600
Add cbuild2 --checkout <package>|all support with tests
* misc (1/10)
commit 9fb1c4404f8065ef844154e614ff4e7086fce176
Author: Ryan S. Arnold <ryan.arnold(a)linaro.org>
Date: Thu Dec 5 12:21:20 2013 -0600
lib/package.sh: git status should be run in the current directory.
commit 7bb4a9ce8ef440655fe45e6819b57da8d61e8728
Author: Ryan S. Arnold <ryan.arnold(a)linaro.org>
Date: Wed Dec 4 11:47:56 2013 -0600
lib/package.sh: git st should be git status.
* TCWG-356 Unify GIT URL parsing (5/10)
* TCWG-359 Change branch character (2/10)
Closed with following git commits:
commit c9368930e6fb1ad46d08c2dbcc34d8167344ad28
Author: Ryan S. Arnold <ryan.arnold(a)linaro.org>
Date: Tue Dec 3 16:29:00 2013 -0600
Finish git parser refactoring, use stamp functions, complete
dryrun wrapping.
commit eabbc74e48bc8c3a4addbc53ec6a492521193a0c
Author: Ryan S. Arnold <ryan.arnold(a)linaro.org>
Date: Wed Nov 27 16:31:20 2013 -0600
Working additions for git parser refactor and stamping.
== Issues ==
*misc (1/10)
- Discovered a bug in glibc when using upstream (4.9) gcc that isn't
present in 4.8. This might have something to do with how binutils
interacts with the compiler instead of simply a compiler issue:
elf/dl-addr.c:152: multiple definition of `_dl_addr_inside_object'
elf/dl-open.c:746: first defined here
== Plan ==
* Create card for new glibc multiple definition problem,
* Start working on glibc related cards
== This week ==
- Completed backport of 197997
- Completed backport of 203774
- Worked on GCC 4.8 FSF Release Branch Merge and initiated merge request
and build
== Next week ==
- Work on GCC 4.7 Release branch Merge
- Begin work on other assigned backports
== Future ==
Document missing features of cbuild for backports
== Progress ==
* MCJIT (2/10)
- Disabling Remote MCJIT for now, just to add the self-hosting bot
- Working on a more robust message passing interface
- http://llvm.org/bugs/show_bug.cgi?id=18057
- Progress stalled, waiting for changes to child process handler
* Buildbots (2/10)
- Adding Chromebook self-hosting buildbot
- http://lab.llvm.org:8011/buildslaves/linaro-chrome-02
- Adding Odroid XU check-all buildbot
- http://lab.llvm.org:8011/buildslaves/linaro-odroidxu-01
* Vectorizer (2/10)
- Implemented #pragma vectorize enable in LLVM
- http://llvm.org/bugs/show_bug.cgi?id=18086
- Adding support in Clang to add metadata to IR for all three pragmas
* Android (1/10)
- Trying LLVM kernel on XU again
- Managed to get adb/astboot to work
- Custom kernels won't boot, Tinti will create a full image (CM+LLVM)
* Release 3.4 RC2 (1/10)
- Testing, no regressions
- Some benchmarking regressions, investigating
- http://llvm.org/pre-releases/3.4/rc2/
* Background (2/10)
- Reviewing patches, discussions, meetings, etc
== Plan ==
* Continue implementing pragma vectorize on Clang
* Further release 3.4 testing and benchmarking
* Continue investigating benchmark results for 3.4
* Re-start MCJIT MPI once changes to the child process handlers are in
Hi,
According the debian bug report [1], it is not possible to use std::future
on armv5 targetting toolchains. This is because libstdc++ will only enable
std::future if ATOMIC_INT_LOCK_FREE > 1. There is no LDREX for armv5 and
older, so this definition is set to ATOMIC_INT_LOCK_FREE when compiling for
ARMv4t or ARMv5.
My impression is that you should be able to use the kernel helpers for
atomic operations in lockfree (?) manner, so the ATOMIC_INT_LOCK_FREE
definition is probably incorrect on older arm archs then?
Riku
[1] http://bugs.debian.org/727621
== Progress ==
* Disable peeling:
- spawned benchmarking jobs using recent trunk and another older
one to check for performance regressions.
- locally generated the code for the same benchmark to analyze the
differences
* cbuildv2:
- retried to create 4.8-2013.11 source release. Identified a couple
of minor issues, reported to Rob.
- for 4.7-2013.11, need support for subdir in git URLs, fix on-ongoing by Ryan
* Backports:
- gave some support to Michael
- a few have been reviewed/accepted.
* libsanitizer: little progress this week; advised to take a look at
recent LLVM sources.
* trunk validation: filed some bugzilla reports; 2 of them fixed by Kyrill.
== Next ==
* Disable peeling:
- check benchmarks results
- check code generation
* cbuildv2: re-do source releases 4.8 and 4.7 2013.11
* Backports:
- commit already approved ones, once cbuildv2 releases are OK
- see which ones can be easily added
- work on MULTILIB_DEFAULTS backport for 4.7
== Issues ==
* None.
== Progress ==
* LRA on AArch32:
o TCWG-342 : UPSTREAM: LRA issue in gfortran with store minmaxsi
- Committed as rev205526 .
- Card resolved.
o TCWG-344 : UPSTREAM: Thumb bootstrap failure with LRA
- Committed THUMB_SECONDARY_INPUT_RELOAD_CLASS patch as rev205527.
- Committed PR58785 patch as rev205581.
- Card resolved.
o TCWG-345 : Analyse performance of LRA for ARM
- Gathered results and analysis still ongoing.
o Working on a new failure with iWMMXT (LRA loops during constraints solving).
* Reviewed some merge requests.
== Next ==
* Continue on LRA
* Loop specialization patch review.
== Progress ==
* Investigated remaining testsuite failures in ARM process record/replay.
* Tested VFP, SIMD and other advance instruction types recording.
* Ran GDB testsuite in various configurations on gdb7_6_1 code base
and latest git repo.
* Learnt some prologue and epilogue analysis heuristics for resolving
process record bugs in arm.
== Plan ==
* Analyze test results from gdb testsuite runs in various configs and
update JIRA issues.
* Complete testing of VFP, SIMD and other advance instruction types
recording patch and Send updated patch.
* Try to find a epilogue analysis heuristics for resolving reverse
stepping issues in solib code.
== This week ==
- Completed backport of 202872
- Final checkin to upstream GCC SVN will be complete by Christophe Lyon
== Next week ==
- Begin work on other assigned backports
== Future ==
Document missing features of cbuild for backports
== Progress ==
- libssp gcc
Posted RFC V2 patch to community. Updated comments from Richard and
wating for some feed backs.
- Libssp glibc
- Sent out a patch for stack_chk_guard in Aarch64 along with TLS
stack guard support.
== Plan ==
- post RFC patches for glibc and gcc libssp
- explore on cbuildv2
29-11-2013 Friday - Leave (AMD internal event) .
== Progress ==
* Setup 64 bit centos-5 and suse-10 chroots for testing binary
tarballs, and used them to verify the Cbuildv2 produced ones
compile 'Hello World!", and run on a real target.
* Got remote chromebook testing working in TCWG build farm.
* Worked on getting GDB remote testing with gdbserver working.
* Did build and test run on aarch64 APM board of GCC
linaro-4.8-branch.
* Changed Cbuildv2 to disable parallel make jobs when building GCC
native on ARM or AARCH64 platforms, as the hardware can't handle
the load.
* Got the LSB tools installed and researched what they do.
* Debugged why 32 bit binary tarballs made in a chroot won't run
when installed on multiple x86_64 systems. Works now by statically
linking everything.
* Got test results, converted to Junit format for Jenkins.
* More TCWG build farm admin issues.
== Plan ==
* Continue working on GDB remote testing in the build farm.
* More tweaks for binary releases.
* Continue trying to get GCC trunk to build on APM board.
* Figure out why Jenkins doesn't import the Junit files.
* Probably more TCWG build farm admin issues, which is probably
a continuing task, so I'll stop listing it every week.
== Issues ==
* If I try to monitor a Jenkin's build via the "Console", it
crashes my browser as the logs get huge.
* Long weekend for Thanksgiving holiday means short work week...
== Leave ==
* Off this coming Thursday for my birthday...
== Progress ==
- cbuild2 benchmarking
- Resolved access issues and imported into repository
- continuing with the missing implementations
- 64bit division for ARMv7-A
- Algorithm is committed to trunk
- enablement patch is posted for review
- trunk bootstrapping issue
- Setup foundation model and resolved space and kernel panic issues
- There is a assembler compatibility issue with older assembler
(-mabi=lp64); trying with the latest binutils
- AARCH64 bootstrapping in progress with this
- AARCH32 bootstraps with glibc but ran into issues with eglibc.
== Plan ==
- Address zero/extension review comments
- investigative bootstrapping issues
- continue with cbuild2 benchmarking
== Issues ==
* None.
== Progress ==
* Commit the fix for test case (lp1243022.c) by skipping arm-neon.
* Spawn arm-none-eabi build for Linaro 2013.11 release.
* Report PR59282: SPEC2K 252.eon ICE.
* Rebase conditional compare patch to trunk and tests.
- Update simplify_while_replacing to skip swapping compare in
conditional compare.
- Check whether operands of gen_ccmp_next clobber cc or not.
- Add a short description about the over all algorithm.
* Investigating loop-invariant impact on SPEC2K INT for x86-64 and
ARM. Testing is ongoing,
== Plan ==
* Continue on CCMP.
== Planed leaves ==
* Dec 3 & 5: Annual leaves
== Progress ==
* Buildbots
- Work-around for ClamAV (r195646), new bot in!
- http://lab.llvm.org:8011/buildslaves/linaro-chrome-03
- After a week stable, I'll deactivate the old chromebook and re-fit it
- Looking at MCJIT random breakages on A15 self-hosting tests
- http://llvm.org/PR18057
- Proposed a fix, http://llvm-reviews.chandlerc.com/D2287
- Installed Arch on the ODroid XU, running a local buildbot on it
- Investigating llvm-rtdyld but in reading debug information
- http://llvm.org/PR18085
* Vectorizer
- Mapping, discussing and proposing implementation for pragmas
- http://llvm.org/PR18086
- http://llvm-reviews.chandlerc.com/D2289
* Release 3.4 RC1
- Running benchmarks comparing 3.3 with 3.4
- EEMBC within noise levels for geomean
- O3: ~0.2% faster, ~0.7% bigger
- Os: ~1.3% slower, ~0.6% bigger
- Phoronix, ImageMagick: OK within std dev
* LLVMAndroid
- Tinti compiled the kernel 3.4 and some libs with LLVM
- Trying to put Android on the ODroid XU (the official one is quite poor)
- XU redirected to set as a buildbot, once ready, I'll use the other
for Android
* Background
- Lots of patch reviews, discussions
- Helping Graphics WG with Clover
== Issues ==
Still ill because of implant, on/off throughout the week.
== Plan ==
* Put the self-hosting bot up once it's fixed
* Fix the XU bot
* Try LLVM Android on XU again
* Continue with the simple vectorization pragmas
* Waiting on benchmark test-suite mode to create a new benchmark test-suite
== Progress ==
* lib/git-parser.sh: Add support for ~ as branch designator and
multi-/ branches.
* Refactor cbuild2 to use git parser
* Created stamp functions for cbuild2
US Thanksgiving Holiday
== Next ==
* Finish refactor of cbuild2 to use git parser.
* Create unified parser that wraps git parser.
* Finish refactor of cbuild2 to use stamp functions.
== Issues ==
* None
Forgot to hit send on this one
== Progress ==
* Add documentation for git-parser.sh.
* lib/git-parser.sh: Add no-url support.
* testsuite/test.sh fix invocation of testsuite/git-parser-tests.sh
to include ${topdir}.
* Add lib/git-parser.sh and testsuite/git-parser-tests.sh.
* Fix corner cases with <user>@<url>/<repo>.git[/branch]@<revision>
1) Allow http urls to be processed by 'git' cases.
2) Error check git-new-workdir and git checkout
3) Parse revision and branch properly when there might be a <user>@
in the url.
* testsuite/test.sh: Update for breath to cover
user@<url>/<repo>.git@<revision>
* Fix get_srcdir to work with <user>@<repo>.git/branch@revision
* Fix get_toolname and get_srcdir when using <user>@<repo>.git@revision
== Issues ==
* None
== Next ==
* Have cbuild2 start using the git parser
== Issues ==
* Still some cbuild oddities.
== Progress ==
* LRA on AArch32:
o TCWG-342 : UPSTREAM: LRA issue in gfortran with store minmaxsi
- Performance validation is OK, confirmed by kyrill.
- Waiting for approval.
o TCWG-344 : UPSTREAM: Thumb bootstrap failure with LRA
- Pinged for THUMB_SECONDARY_INPUT_RELOAD_CLASS patch review
- Validate and post patch for PR58785:
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg02459.html
o TCWG-345 : Analyse performance of LRA for ARM
- Analysing results mismatch between 2 pandas
- Configured and ran spec2000 on Chromebook
- Analysis ongoing
== Next ==
* Continue on LRA
* Reviews
== Progress ==
* Released GCC 4.7 and 4.8 2013.11 releases.
* Investigated potential regressions on trunk, as reported by
continuous cross-validation.
Reported some cases to Kyryll. Another, reported to Bin, turns out
to be an unrelated, unstable testcase recently introduced.
Will have to give a closer look at big-endian tests.
* Updated libsanitizer patch for AArch64. It builds again but is not
functional yet (running in the Foundation model currently); getting
support from libsanitizer developers. Support for AArch64 will have to
be committed in LLVM, and merged into GCC later. I'm going to continue
prototyping under GCC though, and will submit changes to the
libsanitizer team when ready.
* GNU tar regression (extended_negsidi pattern): posted bugzilla,
fixed by Richard.
* cbuildv2: gave another try, pointing to staging.g.l.o, to discover
that it was outdated too. Rob has fixed it since then.
* Backports: gave some support to Michael Collison to help him get to speed.
Prepared backport of Zhenqiang's "enhance phiopt
to handle BIT_AND_EXPR" (TCWG -303)
== Next ==
* Resume "disable-peeling" work. Mostly check that the current trunk
contains what we want.
* cbuildv2: retry to create source release 2013.11
* Backports: commit TCWG-303, and Charles' backport of his testsuite fix
look at the others in the list.
* libsanitizer for AArch64: make it functional
== Progress ==
* GDB ARM Process Record:
- Completed work on arm process record Advance SIMD, vfp and coprocessor
instruction recording.
- Submitted initial patch for SIMD. VFP and coprocessor instruction
decoding.
- Resubmitted previous patches after incorporating suggestions.
- Resolved patch line wrap issues and formating issues.
* Macau visa and travel planning
* Got started with using concur
== Plan ==
* GDB ARM Process Record:
- Follow up on previous patches.
- Test VFP, SIMD and other advance instruction types recording.
- Fix issues and submit their fixes if any.
* Run GDB testsuite in various configurations and analyze failures.
== Progress ==
* Created 32 bit chroots on all 6 TCWG build machines, did test
toolchain builds via Cbuildv2, including a Canadian cross. I
tested the win32 executables with wine and they work.
* Setup all 6 TCWG build farm chromebooks to be able to do native
builds and run tests with Cbuildv2.
* Multiple discussions with LAVA team about Jenkins, Gerrit, LAVA,
and GIT repositories. We need to have LAVA & Jenkins installed on
our new x86_64 build machines in a way they can do builds in a
32 bit chroot.
* Got Gerrit working with GCC and Cbuildv2 GIT repositories on
staging.git.linaro.org, and merge requests ala 'git review' now
work and can get approved. (Thanks to Milo)
* Got the GCC git repository on staging to be in sync with upstream
finally, as it wasn't auto updating. (Thanks to Milo)
* Modified Cbuildv2 to get the host and build architectures right
when building in a 32 bit chroot on a 64 bit build machine.
* Fixed other weird issues in Cbuildv2 when building in a 32 bit
chroot on an x86_64 platform.
* Started process to get Kugan access to the APM board for
benchmarking.
* Got Jenkins doing builds and test runs on the new TCWG build
machines.
== Plan ==
* Get back to remote chromebook testing support for build machines.
* Debug why 32 bit binary tarballs made in a chroot won't run when
installed on an x86_64 system.
* Probably more TCWG build farm admin issues.
== Progress ==
- libssp gcc
- Posted RFC patch to community. Addressing gcc/glibc compatibility issues.
- libssp glibc
- Working on exporting stack_chk_guard in Aarch64 along with TLS
stack guard support.
== Plan ==
- post RFC patches (version 2) for glibc and gcc libssp
== Issues ==
* None.
== Progress ==
* Commit the patch to support S2_<op1>_<Cn>_<Cm>_<op2> system register
in AARCH64 GAS.
* Identify the issue files in parallel build fail (PR57683) and
backport r197467 and r198999 to FSF GCC 4.8.
* Verify Linaro crosstool-ng to make sure Fortran is supported in all builds.
* Try PGO build for ifcombine heuristics. But got "the control flow of
function .. does not match its profile data".
* Investigate loop-invariant heuristics and rtx cost to select
SYMBOL_REF. But tests did not show performance gain.
* Investigate Coremark conditional compare issue in Cortext-M since
the BRANCH_COST is 1.
== Plan ==
* Continue on CCMP.
* Discuss ifcombine heuristics with upstream.
== Planed leaves ==
* Dec 3 & 5: Annual leaves
== Progress ==
- cbuild2 benchmarking
- Done the initial frame work (just with one benchmark) and sent out
for review
- 64bit division for ARMv7-A
- Posted the patch and added target hook documentation required
== Plan ==
- Address zero/extension review comments
- post 64bit divide patch with the required documentation
- investigative bootstrapping issues
- still waiting for h/w access