== 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...
== Progress ==
* GDB Record and Replay (TCWG-197)
Wrote instruction type decoder code for ARM Thumb32 instructions.
Wrote stub handlers for different type of Thumb32 instructions.
Wrote process record handlers for various type of load/store instruction.
Wrote a testing utility to test record and replay instruction decoding code.
* Visa Application
Received email notifcation for UK visa issuance for upcoming trip to Cambridge.
Filled out US visa application form DS-160, gathering information
required to complete my application.
== Plan ==
* GDB Record and Replay
Continue to write code for decoding and recording thumb32 instructions.
Try to find a way to generate test data of various instructions to
test record and replay code.
* Travel and Visas
Go to UK visa application center to collect my passport back.
Apply for US visa and make an appointment for the interview for the
week of 23rd September.
Prepare for UK travel for the week of 14th September.
== Progress ==
* Investigating Cross-Compilation with LLVM
- Gathering all options necessary to cross-compile
- Cross-compiling Clang+LLVM with Clang to ARM
- Writing down all issues found during the process
* Investigating the Clang Driver
- Refactoring some common decisions about targets
- Adding new CPUs, cleaning a few areas
== Plan ==
* Try to upstream some patches to make cross-compilation a bit easier
* Write a document on how to cross-compile with Clang on LLVM website
== Progress ==
* 4 day week (Bank Holiday Monday)
* Wiki cleanup pretty much done
* More malloc implementation work
* Further investigation of ptmalloc to see if it can be improved
* Fixed gdb build for non-Intel architectures
* Found an issue with clone in glibc 2.18 and committed a fix
* Committed strlen code to glibc
== Issues ==
* None
== Plan ==
* Get glibc patches applied upstream
* More malloc
* Look into stack guard and pointer guard stuff for ARM
--
Will Newton
Toolchain Working Group, Linaro
Hello,
Is there any LLVM cross-compiler built for ARM. If not, then could you
provide some pointers where I could start creating one?
--
Regards,
Pavan
Hi all,
There has been interest from LEG members to ensure that optimal library
routines are used on their platforms. My understanding is that the
"correct" way of doing this these days is to use ifuncs to select the
best implementation for a given system.
I see that glibc 2.18 contains an ifunc-ed version of memcpy. Does the
TCWG have a hit list of other functions that might get the same
treatment? If so, does it have a plan and the resources to implement
them? If it's a matter of resources, I think LEG might be able to help
there.
Cheers,
mwh
Hi,
Apologies in advance for any chinese whispers effects that happen, but
colleagues at Canonical are attempting to backport this change:
https://sourceware.org/git/?p=glibc.git;a=commit;h=ae65139d140ac85808c0666c…
to the (e)glibc in current versions of Ubuntu, 2.17, but are
encountering mysterious segfaults when building. These are the
additional patches being used:
arm/define-sfi_breg-and-PC_OFS.patch
arm/Add-Cortex-A15-optimized-NEON-and-VFP-memcpy-rou.patch
arm/Make-multiarch-memcpy-always-use-NEON-when-compi.patch
arm/Clean-up-__libc_ifunc_impl_list.patch
arm/Make-armv7-memcpy-implementations-SFI-friendly.patch
arm/Use-push-pop-mnemonics.patch
arm/Support-avoiding-pc-as-destination-register.patch
arm/BX_ALIGN_LOG2.patch
arm/Pass-dl_hwcap-to-IFUNC-resolver-functions.patch
-- all grabbed from glibc git. Are we missing something obvious? :)
Cheers,
mwh
== Progress ==
* Got Cbuildv2 building native on Odroid and Wandboard via Jenkins
using the LAVA build farm.
* Improved support for native builds in Cbuildv2.
* Added building binary tarballs for releases.
* Looked at two patches for multilib support.
* Reviewed a bunch of wiki pages, updated some, deleted some,
some were ok as is and still useful.
* Registered for LCU13.
* Ordered Odroid XU & U2 boards.
* Put out 2 lightning caused wildland fires.
* Ran weekend music festival fund raiser for a local non-profit.
== Plan ==
* Review more wiki pages.
* Improve binary tarball support in Cbuildv2.
* Add 'make check' to Jenkins builds.
* Get Jenkins to do automated builds on LAVA build farm.
* Get lava-tool working.
== Progress ==
* spec2k comparison between ARM and x86
- Analysis ongoing
- Preparing to post the results for internal discussions
* Back-porting
- Back ported all the assigned one
- There are some make check failures for thread related test cases
with qemu; investigating it
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Finish the back-ports
== Progress ==
3 day week 21 August unwell and 23-August leave.
* Libssp support for AArch64 TCWG 23:
Sent RFC patch for review.
http://sourceware.org/ml/libc-ports/2013-08/msg00044.html
workign on cross testing eglibc from host.
* Backport 201406 to linaro branch. Waiting for review.
== 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
* Backport 201411 201624 201666 from trunk
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
* Waiting for Marcus feedback for Matt comments on gprof patches TCWG-20.
== Issues ==
* none
== Progress ==
* 2013-08 release:
- Released 4.7 and 4.8 .
* 4.8-2013.08 c++ and java reported issues:
- Trying to reproduced the reported failures on x86 and a9hf,
without success for the moment.
* LRA:
- Rebased the ongoing work on updated sources.
- Preparing an upstream request for comment.
== Plan ==
* Review roster
* 4.8 backports
* LRA