Current Milestones:
|| || Planned || Estimate || Actual ||
||cp15-rework || 2012-01-06 || 2012-06-23 || ||
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 ==
* have had no review feedback on this patchset yet, and we're now
into QEMU 1.1 hardfreeze. I'm hoping to get review during the
month we're in freeze and then commit early June when 1.2 opens.
However since that coincides with me being on holiday I've set the
Estimate date to allow for that plus a week or so of buffer.
Actual further work required is probably 1 week max, most of this
is waiting-for-other-people or being-away.
== kvm-boot-wrapper ==
* pushed dtb support changes to git repo
== other ==
* basic QEMU side support for the VGIC kernel implementation
Marc Z has been working on. I have something that seems to
work but it's still a bit prototype and missing features.
* investigated why my guest kernel was causing kvm to exit:
turns out that we haven't implemented the kernel support for
gracefully not using KVM if not booted in hyp mode, so trying
to boot a KVM-aware kernel as a KVM guest doesn't work yet.
* sent off the final few patches which I want in QEMU 1.1 before
hardfreeze at the start of next week
* tested a beagle board linaro snapshot image (it panics on
bootup, LP:989737)
* trying to clarify the KVM todo list...
-- PMM
Greetings,
I successfully built and booted Linux 3.1 for the beaglebone (TI am335x) using the 4.5.2 toolchain. I rebuild the same kernel using the same config with the 4.6.3 toolchain, but the board hangs at "Uncompressing Linux... done, booting the kernel."
I halt the beaglebone at the U-Boot prompt and have it download and run uImage from an NFS mounted RFS.
The Linaro 4.5.2 toolchain was installed in my Ubuntu 11.04 distro using aptitude.
The Linaro 4.6.3 toolchain binaries, downloaded via Launchpad, were installed into my own tools directory.
4.5.2 INFO:
./gcc-linaro-arm-linux-gnueabi-2012.01-20120125_linux/bin/arm-linux-gnueabi-gcc --version arm-linux-gnueabi-gcc (crosstool-NG linaro-1.13.1-2012.01-20120125 - Linaro GCC 2012.01) 4.6.3 20120105 (prerelease) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Built with: $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage
4.6.3 INFO:
./bin/arm-linux-gnueabi-gcc --version arm-linux-gnueabi-gcc (crosstool-NG linaro-1.13.1-2012.01-20120125 - Linaro GCC 2012.01) 4.6.3 20120105 (prerelease) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Built with: $ make ARCH=arm CROSS_COMPILE=<mytoolsdir>/gcc-linaro-arm-linux-gnueabi-2012.01-20120125_linux/bin/arm-linux-gnueabi- uImage
Could it have anything to do with my binutils and/or U-Boot version? Any debugging tips?
U-Boot INFO:
U-Boot# version
U-Boot 2011.09-00010-g81c8c79 (Feb 13 2012 - 14:48:03) arm-angstrom-linux-gnueabi-gcc (GCC) 4.5.4 20111126 (prerelease) GNU ld (GNU Binutils) 2.20.1.20100303
Thanks for reading this far.
We use QEMU to test programs built by the toolchain binary release for
correctness. I've written up the instructions for spinning up your
own at:
https://wiki.linaro.org/MichaelHope/Sandbox/QEMUCrossTest
It's focused on simplicity - getting a running, SSH only Cortex-A9 up
and going as soon as possible. It's not the latest, not graphical,
and doesn't replace the deeper documentation at:
https://wiki.linaro.org/Resources/HowTo/Qemu
-- Michael
The Linaro Toolchain Working Group is pleased to announce the 2012.04
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.7 2012.04
* Linaro GDB 7.4 2012.04
* 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:
* Switches to the new GCC 4.7 based Linaro GCC
* Adds native language support to most of the programs
* Adds the mudflap, ssp, and gomp runtime libraries
* Enables gnu_unique_object support in GCC
Please see the README about running 4.7 based programs on a system
with 4.6 based runtime libraries.
The Linux version is supported on Ubuntu 10.04.3 and 11.10, 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/20yy.mm
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.
-- Michael
Hi,
GDB for Android:
* Wrote patch for bionic adding .note.ABI-tag to the crtbegin
object files. Sent to Google engineers, They think it's
going in the right direction and I will submit via gerrit.
* Isolated Android-related changes in diff between AOSP's
GDB 7.3.x and FSF GDB 7.3. There are a lot of unrelated
changes there.
* Sent e-mail asking for comments about the Android extension
to .note.ABI-tag to the LSB and binutils mailing lists.
Got only one e-mail of feedback.
--
[]'s
Thiago Jung Bauermann
Linaro Toolchain Working Group
Hi,
* catching up with emails
* rebased against current OE-core
* OE is planning a release in april (following the yocto schedule)
* noticed the libc of our binary toolchain is lacking i18n
* caused a packaging issue for meta-linaro but easy to workaround
* contents of the i18n folder are only used at runtime (not relevant
for compiliation time)
* updates in order to support for the 2012.03-20120326 binary toolchain
* locations of sibgcc_s.so and libstdc++.so are different
* added support for linaro gcc 2012.04
* looked at the meta-linaro patches made by Khem
Regards,
Ken
The EEMBC supplied build system has a couple of bugs with library
order (putting -lrt at the start of the command line instead of the
end) and the harness library (depending on THOBJS but linking against
THLIB). I've fixed these and pushed to our private branch.
Ulrich, I've spawned builds of your vld1.64 branch and its ancestor.
Once those are done I'll spawn a benchmark run against them.
-- Michael
Summary:
* Code size benchmark analysis.
* Linaro binary toolchain 2012.04 release.
Details:
1. Tuning the heuristic to assign register for copies.
* Take the CONFLICT_HARD_REGS and HARD_REG_COSTS of copies into
account when conflict_costs is NULL in
update_conflict_hard_regno_costs, which handles the following case:
a = ...
...
b = a // a can be assigned with r3 or r5 which have the same min_cost.
... // b is conflicted with r3 or the cost of r3 is very high
= b
In this case, if a is assigned with r3, b can not be assigned with
r3, so the copy "b = a" can not be optimized. When taking the
CONFLICT_HARD_REGS or HARD_REG_COSTS of b into account, we can assign
a with r5.
2. Linaro binary toolchain 2012.04 release.
* Update gdb/TOOLCHAIN_PKGVERSION/README to 2012.04.
* Test workaround localization patch to fix lp:918926.
* Local build and tests show the toolchain can find the
corresponding .mo file.
* But if the host system does not have the corresponding font
packages, it will show some mess characters.
* gdb does not have gdb.mo.
3. Investigate code size regressions in 4.7.
* Loop invariant hoisting might increase register pressure, which
leads to much more spilling.
Plans:
* Finalize Linaro binary toolchain 2012.04 release
* Investigate other code size regressions in 4.7.
Planed leaves:
* Labor Day’s holiday: April 30 and May 1.
Best regards!
-Zhenqiang
Hi,
I have been using CodeSourcery tool-chains since forever, and I
decided to try Linaro's tool-chain. So far I haven't had any issues,
except one:
libgcc_s.so.1 is located in arm-linux-gnueabi/lib, which is not
available from arm-linux-gnueabi/libc. The CodeSourcer tool-chain has
all those files inside the 'libc' directory, which is useful for
Scratchbox2, because you need to specify a "target root" which is
basically the libc directory which acts in a similar fashion to /.
I've managed to create a rule to workaround this issue, but I wonder
why are those files in that location, why not in 'libc/lib'?
Cheers.
--
Felipe Contreras
=== Progress ===
* Worked on the VFP addressing modes patch upstream. Handled most
comments. Final version has finished testing and looks almost ready to
commit.
* Investigated an issue with min type transformations for loop
terminating conditions. Wrote up a small patch which appears to do the
right thing - passed a bootstrap on x86 but that probably means it
never got triggered :( .
The particular case of interest was not vectorizing :
#define min(x,y) ((x) <= (y) ? (x) : (y))
int a[256] __attribute__((aligned (16)));
int b[256] __attribute__((aligned (16)));
int c[256] __attribute__((aligned (16)));
void foo (int x, int y)
{
int i;
for (i = 0;
i < x && i < y;
// i < min (x, y);
i++)
a[i] = b[i] * c[i];
}
but vectorizing the commented region. I've tentatively worked out a
fix in tree-loop-im.c which looks like a bit of a grotesque hack ....
* Attended LLVM devcon in Week 15. Useful and interesting and conference.
== Plans ==
* Pursue backporting gnu_unique_object upstream.
* Look at some of the existing blueprints and start discussions around
prioritizing this.
* Investigate some of the SEGVs with h-c partitioning.
* Finish off the VFP addressing modes patch.
Absences.
* 03 May 2012 - 08 May 2012.
* Linaro Connect Q2.12 - May 28 - June 1 -