=== Progress ===
* Worked on VFP addressing patch and corrected the failures.
* Got SPEC2k up and running with hot cold partitioning. Some SEGVs
that need investigation. In
general results appear to be better in quite a few cases.
* Investigated an issue with a merge request for upstream 4.7 branch
into our tree. There was a testsuite
failure and I wasn't able to reproduce it with a local i386 rebuild of
the toolchain. Therefore we'll have to
let this go in.
== Plans ==
* I will be away for 2 days this week attending the LLVM conference in London.
* Pursue backporting gnu_unique_object upstream.
* Finish off the VFP addressing modes patch upstream.
* Look at some of the existing blueprints and start discussions around
prioritizing this.
* Investigate some of the SEGVs with h-c partitioning.
Absences.
* Apr 12-13 : Euro-LLVM London.
* Linaro Connect Q2.12 - May 28 - June 1 -
Summary:
* Revise the patch for relocatable NLS support.
* Code size benchmark analysis.
Details:
1. Revise the patch for relocatable NLS support: lp:918926.
* Read the gcc configure and makefile.
* It seams hard to get the relative dir if the gcc is configured
with --bindir=... --datadir/datarootdir. E.g.
--bindir=/opt/bin
--datarootdir=/tmp/data
2. Code size benchmark analysis with -Os
* Investigate regression in small cases.
3. Try to build linaro gcc trunk with crosstool-ng. But it reports
error when configuring libquadmath.
* configure:9829: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
* Manual check or a simple case show libc.so can be linked.
Plans:
* Tuning optimization heuristics for -Os
Planed leaves:
* April 9 - 11: Vacations
Best regards!
-Zhenqiang
Current Milestones:
|| || Planned || Estimate || Actual ||
||cp15-rework || 2012-01-06 || 2012-04-10 || ||
Historical Milestones:
||initial-a15-system-model || 2012-01-27 || 2012-01-27 || 2012-01-17 ||
||qemu-kvm-getting-started || 2012-03-04?|| 2012-03-04?|| 2012-02-01 ||
== other ==
* LP:970252 got a beagle board booting so I could read the UART
version register; reviewed and applied to qemu-linaro the set
of patches provided by Jan Vesely (thanks!)
* sent a patchset cleaning up the GIC model so it is a self-contained
sysbus device; this should make it easier to just drop in a
functionally equivalent device which is a shim for an in-kernel
GIC model that uses the hardware VGIC features
* upstream review:
save/load support for sd.c [patchset from Samsung]
SPI bus [patchset from Petalogix]
* put together qemu-linaro prerelease tarball and did some testing
* performance evaluation finished and submitted
Continued work on neon 64-bit correctness. This is really dragging out
now. I had hoped to have had it fixed by now, but subtle bugs are subtle.
The 16-bit opcodes patch is now committed both upstream and in Linaro
GCC 4.7, however, so that's some progress at least.
Posted benchmark results for the the 64-bit shifts in core registers.
The results are inconclusive: the benchmark runs are too noisy.
As part of closing out the Windows toolchain card, I've documented the
binary build release process at:
https://wiki.linaro.org/WorkingGroups/ToolChain/BinaryBuild/ReleaseProcess
The interesting thing is a script that pulls builds from S3 and posts
them to Launchpad. There's a curl command at the end that does the
upload and might be useful.
-- Michael
On 1 April 2012 05:56, Ramana Radhakrishnan
<ramana.radhakrishnan(a)linaro.org> wrote:
> I find it a bit worrying that all the nptl tests are failing with a
> common error message
>
> http://builds.linaro.org/toolchain/eglibc-2.16~svn17843
>
> Aborted'
> make[6]: *** [/scratch/cbuild/slave/slaves/tcpanda05/eglibc-2.16~svn17843/eglibc/default/build/nptl/tst-cond7.out]
> Error 1
> libgcc_s.so.1 must be installed for pthread_cancel to work
> Didn't expect signal from child: got `Aborted'
>
> Why don't we have libgcc_s.so.1 installed on the system - shouldn't
> that be there if there was a gcc properly installed on the system ?
This is a bug on my side. I believe EGLIBC likes to have libgcc_s.so
in the top of the build directory - at least that's the impression I
got from reading the cross-test documentation the other day.
I've logged LP: #971064 and will look into it.
-- Michael
Hi Ricardo, Matthias. GCC 4.7 is almost here and it's likely that
Linaro GCC 4.7 will come out for next month's 2012.04 milestone.
For the binary toolchain to work we need the 4.7 runtime libraries on
the target. Matthias, what are your plans? How much of 4.7 is
packaged so far? Ricardo, could we pull these updates to libgcc,
libstdc++, and others into the LEB?
These should be backwards compatible but there's always a risk. Using
the 4.5 runtime with a 4.4 compiler back on Maverick was OK.
-- Michaele
Hi,
GDB for Android:
* Submitted upstream three patches for building gdbserver on Android.
Reworked two of them based on review comments, and committed one.
* Investigated ARM EABI build attributes and .note.ABI-tag as ways
of marking binaries as Android apps so that GDB can differentiate
them from regular Linux ARM binaries. Build attributes are quite
sophisticate and overkill for this purpose, and would also be out
of place for Android on x86. .note.ABI-tag is simpler and more
appropriate. Now experimenting with generating the .note.ABI-tag
section on Android binaries.
* Tried to find ARM GNU/Linux ABI supplement [1] but couldn't,
contacted Mentor Graphics' webmaster about the problem. No
response so far.
Obs: This Friday (04/06) will be a holiday in Brazil and hopefully I
will be AFK.
[1] http://www.codesourcery.com/gnu_toolchains/arm/arm_gnu_linux_abi.pdf
--
[]'s
Thiago Jung Bauermann
Linaro Toolchain Working Group
== GCC ==
* Committed fix for LP #960283 (PR tree-optimization/52686) to
FSF mainline as well as Linaro GCC 4.6 and 4.7.
* Worked on patch to use vld1.64/vst1.64 instead of vldm/vstm
for vector moves. Created merge request for testing.
* Worked on patch to use vld1/vst1 to implement vec_set/vec_extract
for cases where the scalar operand resides in memory.
Created merge request for testing.
* Ongoing work on fixing LP #959242.
* Ongoing work on improving end-of-loop value computation.
== Misc ==
* I'll be attending the Linux Foundation Collaboration Summit
in San Francisco next week, and present on "GDB on ARM".
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand | Phone: +49-7031/16-3727
STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E.
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter | Geschäftsführung: Dirk
Wittkopp
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294
Summary:
* Linaro binary toolchain 2012.03 release.
* Investigate relocatable NLS support.
* Code size benchmark analysis.
Details:
1. Linaro binary toolchain 2012.03 release.
* Bump and spawn 2012.02-20120326 build.
* Validate the release candidate.
* Update wiki for binary build tasks.
2. Investigate relocatable NLS support: lp:918926.
* Root cause: gcc and binutils use a fixed LOCALEDIR (which is
$prefix/share/locale) to call bindtextdomain.
* Workout a reference patch for gcc to use relative dir
(.../bin/../share/locale) to call bindtextdomain.
3. Code size benchmark analysis with -Os
* Collect code size benchmark data.
* In most cases, gcc 4.7 gets better result than gcc 4.6.
* Investigate regression in several small cases.
4. Read the tree and rtl dump files to learn the optimizations and
impacts on code size.
Plans:
* Fix lp:918926.
* Investigate code size regression in gcc 4.7.
* Tuning optimization heuristics for -Os.
Planed leaves:
* April 2 - 4: Chinese Qingming Festival.
* April 9 - 11: Vacations
Best regards!
-Zhenqiang
=== Progress ===
* Caught up on email backlog.
* Reworked the ARM backend specific bits of the VFP addressing modes
patch and submitted again for some benchmarking and testing. Finished
the PRE_MODIFY and POST_MODIFY bits of that as well.
* Wrote up a small blueprint on the shrink-wrapping work.
* Wrote up my Linaro performance review and sent it for review.
* Looked at lower-subreg work that Kenneth Zadeck posted very quickly
to see if it addressed some of the issues around and old intrinsics
patch that Richard Sandiford submitted last year. It looks promising
and might even have some impact on our 64 bit neon work . It fixes the
2 cases where things didn't look good. ( Upstream bug reports PR48941
and PR51980) but it falls over while building glibc. Sent a bug report
to Kenneth about this.
* The perf packages on OMAP4 in our latest releases from 12.03 are
just broken, they don't work. Reported the issue to Paul Larson on IRC
to check what's going on. perf top doesn't work reliably on the
kernels and there appears to be some issues with interrupt support for
some of these . I specifically ran into
https://bugs.launchpad.net/ubuntu/+source/linux-ti-omap4/+bug/956693 .
* Answered a few questions from Uli about my prototypes for the vld1
replacing vldm instructions and a vget_lane patch.
== Plans ==
* Work through some of the blueprints before the call next week.
* Set up perf on my panda. It works on my AC100 - so the inclination
was to also have something that worked on my panda but clearly it
doesn't.
* Finish off the VFP addressing modes patch and get it in.
* Look at Partial Partial PRE next or attempt the next project.
Absences.
* Apr 12-13 : Euro-LLVM London.
* 1 week holiday sometime before that - to be booked
* Linaro Connect Q2.12 - May 28 - June 1 - travel booked - hotel to be booked.
Current Milestones:
|| || Planned || Estimate || Actual ||
||cp15-rework || 2012-01-06 || 2012-04-10 || ||
Historical Milestones:
||initial-a15-system-model || 2012-01-27 || 2012-01-27 || 2012-01-17 ||
||qemu-kvm-getting-started || 2012-03-04?|| 2012-03-04?|| 2012-02-01 ||
== cp15-rework ==
* posted 14-patch patchset which creates a QOM class per CPU type
and moves a lot of the reset/constant-feature-register setup to
the init functions for these new classes. This is then a much
nicer base to sit cp15 rework on.
* solved the final design knot of how to handle registers whose reset
value depends on the CPU type (the QOM patches make this much more
straightforward)
== other ==
* upstream patch review
* updated Paul Brook's BE8 userspace support patch and sent out a v2
* ran through qemu-linaro buglist identifying fixes to go into next
release
* linaro performance review ate up a lot of time this week and
will probably do so next week too :-(
I've changed the development focus in the Launchpad project to Linaro
GCC 4.7. This means that:
* Checking out lp:gcc-linaro now gives you the 4.7 branch
* New merge requests are targeted to 4.7 by default
This doesn't affect any already checked out branches or pending merge requests.
-- Michael
Hi,
GDB for Android:
* Wrote three patches for the build system allowing gdbserver
to be cross-compiled on Android [which were submitted upstream
this Monday].
* Started studying the ARM EABI to work on a way to mark a binary
as an Android application as opposed to a regular Linux EABI one.
* Wrote self-evaluation for Linaro performance review.
--
[]'s
Thiago Jung Bauermann
Linaro Toolchain Working Group
The PandaBoard auto builders are having a hard time keeping with
longer build and test times of 4.7 and the re-enabled libstdc++ tests.
For reference, here's how much each step costs:
Bootstrap GCC with C, C++, Fortran, and Obj-C: 9 hours
Test GCC: 9.5 hours
Test libstdc++: 4.4 hours
Test libgomp: 0.9 hours
Other tests: 0.2 hours
for a grand total of 23.8 hours. Every new commit gives a merge
request and trunk build for both A9 and ARMv5 giving 95 hours of
compute time. GCC 4.6 takes five hours to build and 5.5 to test.
This is just a FYI. I'll think about ways of speeding things up or
adding capacity. An i.MX6 with 2 GB of RAM and SATA would be nice...
-- Michael
Hi Michael,
I'm seeing what looks like bogus testsuite failures again:
https://code.launchpad.net/~uweigand/gcc-linaro/lp-960283-4.7/+merge/99069
I suspect this is still caused by the .ident version string, which now
appears to be:
[gcc-linaro/~uweigand revision 114974]
While it no longer contains the branch name, it still contains my user
name, which happens to include the string "and" ...
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand | Phone: +49-7031/16-3727
STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E.
IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz | Geschäftsführung: Dirk
Wittkopp
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294
== Progress ===
* Off sick for 4 days last week.
* Looked at the results for the vfp writeback modes and caught up with
some analysis on the one day I did work.
=== Plans ===
* Catch up on email after absences.
* Catch up on patches backlog
Absences.
* Apr 12-13 : Euro-LLVM London.
* 1 week holiday sometime before that - to be booked
* Linaro Connect Q2.12 - May 28 - June 1 - travel booked - hotel to be booked.
---
* Linaro GCC
Applied my ARM conditional-execution and thumb 16-bit instruction size
optimization patch to upstream and Linaro 4.7.
Continued work on (slowly) working the bugs out of my 64-bit NEON
patches. Figuring out bootstrap failures is not easy! Eventually
discovered that:
* the NEON shifts patch was broken because combine was using the
patterns in ways they weren't intended.
* the NEON neg patch was broken because it needed an early-clobber
marker on the scratch register.
I've also reworked the use of insn_enabled to make it a little less
clunky. It's just an aesthetic change though.
If all goes well with my weekend bootstrap builds I should have the
patches reposted next week.
* Other
Richard Earnshaw asked me to bless use of a CS patch submitted to
gcc-patches@ by a third party. I dug out the original patch from the CS
archives and posted that to the message thread.
Summary:
* Validation for embedded toolchain 2012q1 update release and Linaro
binary toolchain 2012.03 release.
* Failed case analysis for -Os.
* Read benchmark code
Details:
1. Validation for embedded toolchain 2012q1 update release and Linaro
binary toolchain 2012.03 release.
2. Root cause the new failed cased pr30951.c with -Os.
In function tree_swap_operands_p (fold-const.c), there is a check
if (optimize_function_for_size_p (cfun))
return 0;
which blocks to swap (x != x + 10) to (x + 10 != x). And the
following optimization can only handle (x + 10 != x).
3. Read some benchmark codes to find the opportunities for code size
optimization.
Plans:
* Finalize Linaro binary toolchain 2012.03 release.
* Read benchmark codes.
Best regards!
-Zhenqiang
Current Milestones:
|| || Planned || Estimate || Actual ||
||cp15-rework || 2012-01-06 || 2012-03-30 || ||
Historical Milestones:
||initial-a15-system-model || 2012-01-27 || 2012-01-27 || 2012-01-17 ||
||qemu-kvm-getting-started || 2012-03-04?|| 2012-03-04?|| 2012-02-01 ||
== cp15-rework ==
* more progress, mostly in figuring out how to connect the cp15 patches
with work by Andreas Färber to convert CPUs to QEMU's new object model.
* Patch series is now 36 patches long... (will probably split into two
parts for submission)
== other ==
* upstream patch review
* linaro performance review time again...
-- PMM
== GCC ==
* Posted second part of fwprop-subreg patch to gcc-patches.
* Investigated LP #960283, determined root cause, created patch,
and opened merge requests against Linaro GCC 4.6 and 4.7.
Opened mainline bugzilla PR tree-optimization/52686.
* Investigated LP #960274 and LP #960817, identified both as
duplicates of LP #960283.
* Investigated LP #959242, determined root cause. Ongoing
investigation of possible fixes.
* Ongoing work on improving end-of-loop value computation.
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand | Phone: +49-7031/16-3727
STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E.
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter | Geschäftsführung: Dirk
Wittkopp
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294