Re: OpenOCD support for OMAP4/ PandaBoard

2011-02-06 Thread Michael Hope
On Sun, Feb 6, 2011 at 6:38 AM, Nicolas Pitre  wrote:
> I just stumbled across this:
>
> http://article.gmane.org/gmane.comp.debugging.openocd.devel/15584
>
> And the mentioned clock issue seems to be fixed here:
>
> http://article.gmane.org/gmane.comp.debugging.openocd.devel/15619
>
> This is excellent news, and I think we ought to support this at some
> point.

Hi Nicholas.  My group isn't going to be working on OpenOCD this
cycle, but hopefully Foundations will pick this up and make it
available in the PPA or Ubuntu.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: [ACTIVITY] 2011-02-04

2011-02-06 Thread Michael Hope
On Sat, Feb 5, 2011 at 6:11 AM, David Gilbert  wrote:
> == String routines ==
>
>  * After some discussions about IT semantics managed to shave a
> couple of instructions out of a couple of routines
>  * Got around to trying a suggestion that was made some months ago,
> that LDM is faster than LDRD on A9's; and indeed
> it does seem to be in some cases; those cases seem pretty hard to
> define though - it's no slower than LDRD, so it seems
> best to avoid LDRD.
>  * Digging around eglibc's build/configure system to see how to add
> assembler routines to only get used on certain build
> conditions (i.e. v7 & up)

EGLIBC uses a crazy-long directory tree to pick the most specific
version.  Pass --enable-debug-configure to configure and it will dump
them out.  I think --with-cpu=cortex-a8 adds to that path.

> == SPEC ==
>
>  * Compiled lbm -O2 and ran it on our local panda and on Michael's
> ursa1 - it seems happy (with a drop of swap); so I'd say that
> confirms the issues I previously had were local to something on canis.
>  That's a bit of a pain since it's the only machine with enough
> RAM to run the rest of the suite.
>
> == Other ==
>
>  * Tested a headless Alpha-2 install on our Beagle C4 - mostly worked
>  * Tested qemu-linaro release on the realview-pbx kernel/nfs setup I had
>  * A simple smoke test for pldw on qemu
>  * Tripped over ltrace not working while trying to profile git's use
> of memcpy and memcmp; it does some _very_ odd things;
> it's predominant size of memcpy seems to be 1 byte.

Is this with the patches that Zach sent upstream but haven't yet been merged?

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: qemu 2011.02-rc2 test results

2011-02-06 Thread Michael Hope
On Sat, Feb 5, 2011 at 1:07 AM, Peter Maydell  wrote:
> On 4 February 2011 01:12, Michael Hope  wrote:
>> I've had a go with running the QEMU release candidate.  Short story is
>> that it boots to a prompt against the 11.05 alpha2 release so I'm
>> happy.
>
> Quick remark:
> "# Has no serial console or keyboard "
>
> ...this is because you haven't told qemu "-serial stdio". That will
> get you a serial console, although unless the upheaval related to
> the serial ports changing from ttyS* to ttyO* has finally subsided
> you might find that recent snapshots+hwpacks still don't give you
> a root prompt on that serial console.

Ctrl-3 shows the serial console which, as you say, has no prompt on
it.  I normally run with -serial stdio but turned it off due to funny
things with the swap.  My comment was to show that I hadn't tested any
further as I had no way of interacting with the overall QEMU+Linaro
system.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: Extension elimination pass breaks SPU (Fw: spu gcc-4.5 linaro build failure)

2011-02-06 Thread Michael Hope
On Wed, Dec 22, 2010 at 7:50 AM, Mark Mitchell  wrote:
> On 12/21/2010 2:12 AM, Loïc Minier wrote:
>
>>  Upstream faces the same problem, yet manages to move the compiler
>>  forward.  Since Linaro's goal is for all new developments to make it
>>  upstream, we should simply live by upstream's standards when developing
>>  patches.
>
> However, Linaro doesn't have upstream's resources.  In the context of
> upstream, if you post a patch that works on (say) ARM, but breaks on
> (say) SPU, then it's your obligation to fix that problem.  But, you
> generally have the combined resources of upstream, including a lot of
> expertise from maintainers of other architectures to draw on.  In Linaro
> (despite the fact that we have Ulrich Weigand, a very talented Power
> developer, and Richard Sandiford, an equally talented MIPS developer),
> we do not have the breadth of knowledge that we have upstream.
>
> So, I'm questioning the objectives.  Linaro isn't upstream.  It's not a
> multi-architecture consortium.  It's all about ARM.  Therefore, a
> multi-architecture distribution that wants to provide best-in-class
> tools for all architectures cannot rely completely on Linaro; there will
> be important patches for MIPS, Power, x86 and other architectures that
> are not going to be incorporated into the Linaro sourcebase.
>
> I'd rather the criteria for Linaro be that the Linaro sourcebase work
> well on ARM.  Of course, we should submit patches upstream as well.  In
> that process, the patches will change, to better support other
> architectures, or otherwise.  We can backport those changes, or we can
> just wait for our next merge from upstream, and get them then.
>
> This would give Linaro the clearly focused mission of providing
> excellent tools for ARMv7-A.

I'm more than a month late to the party, but here goes:

I've said the following in the flyer[1]:

"""
The group's goal is to improve the competitiveness of Cortex-A series
devices, especially the Cortex-A9 with NEON and SMP. We emphasise
performance and are neutral on correctness. Most of the performance
effort is on improving compilers and libraries, and some is on
providing good developer tools to allow the developer to track down
the remaining issues and get the device to market.

The primary platforms are Linux on Cortex-A, i686, and x86_64.
Improvements are done for the Cortex-A. The other primary platforms
are built, tested, and supported by the group. This gives us a wider
range of tests, makes changes more likely to be accepted upstream, and
makes the toolchain more useful for multi-platform products such as
Ubuntu.

While we do focus on the Cortex-A, we attempt to 'do no harm' to other
architectures. The performance and correctness should be no worse than
the corresponding upstream version. We plan to monitor the
correctness, speed, and size of the automated builds in the following
combinations:

ARMv7 + Thumb2 + VFP
ARMv5 + ARM + Software FP
ARMv5 + Thumb1 + Softare FP
i686
x86_64

Correctness regressions will be fixed. Significant size or performance
regressions will be fixed.
"""

So:
 1. If we break (any) ARM, i686, or x86_64, we'll fix it
 2. Similarly, if others find our ARMv7, i686, or x86_64 to be broken,
we'll fix it
 3. If we break any other architecture we won't know unless others get involved
 4. Performance *could* drop on i686 and x86_64.  We'll measure it and
see if it's a problem.

(1) and (2) should be sufficient for a distro like Ubuntu to use
Linaro GCC for all of their official platforms.  (1) and (2) are also
an honest effort and, if we can meet these, then the patch should be
acceptable upstream and gives us the advantage of exercising more of
the middle end.

The counter examples are more interesting:
 * If others find Thumb-1 to be broken, it should be fixed by the
greater ARM community upstream
 * If a change in Linaro GCC 4.5 breaks PowerPC, we might not fix it
 * If a change from us in trunk drops MIPS performance by 2 %, we
might not fix it

When push comes to shove, performance on ARMv7 wins.  Things should
smooth out once trunk opens again as we'll be working upstream and can
use upstream's normal methods and resources to solve such problems.

I'm working on doing builds in the cloud and once we have that I'll
start doing a cross builds for architectures with readily available
sysroots (Ubuntu has at least sparc and powerpc).  Automation makes
this cheap and, although we still don't support them, it'll give early
warning for some types of fault.

[1] https://wiki.linaro.org/WorkingGroups/ToolChain/Flyer

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain