Hello Taras,
We've recently had a Linaro Connect conference, and many developers are still on the way from it, so more knowledgeable folks may add more info later, and I'd like to highlight some points in the meantime.
On Thu, 04 Aug 2011 12:03:00 -0700 Taras Glek tglek@mozilla.com wrote:
Hi, Recently we have been looking at how to squeeze more performance out of our toolchain for building Firefox on Android. Mike Hommey integrated GCC 4.6 into the android NDK and has been testing performance (with mixed results http://gcc.gnu.org/ml/gcc/2011-08/msg00096.html). I like how Linaro is doing regular arm benchmarking, ie https://wiki.linaro.org/Platform/Android/AndroidToolchainBenchmarking/2011-0... . Would you be interested in adding a Firefox-based benchmark? As a large application it is a good testbed for LTO, FDO and other aggressive optimizations.
That sounds like a great idea. Our validation team currently exactly compiles list of tests which are useful to run as our validation and benchmarking effort. We're still bootstrapping our continuous integration system and working on "low-hanging fruit" (simple tests), but for sure looking forward to add more elaborated testsuites, especially for Android (which doesn't have much of variety). So, please consider us among your users.
We are also looking at setting a developer-friendly android ROM with oprofile, perf, systemtap, gdb, debug symbols, etc. It might even be beneficial for us to use newer kernels as we exlore options like kernel-assisted ld.so relocations, etc. That seems to similar to what Linaro provides in the evaluation ROMS.
We recently added busybox to our builds, as the default Android environment indeed pretty limited. And I agree that it would be nice to have more tools available. However, our aim at Linaro is to stay sufficiently close to the upstream, and neither we currently have resources to maintain "normal" and "developer" images.
One solution I personally see for this is breaking away from the "ROM" outlook, and taking Android more as a normal Linux distribution. So, anyone interested could easily rebuild Android with more packages installed, or even better, have native package manager to install more binary packages (something like opkg). That's forward-looking thinking though, we unlikely get to it soon, but would be interested to see if wider Android community has interest in that and help if we can.
Is there any chance of Linaro providing developer-friendly "evaluation" ROMs for retail phones like the Nexus S?
Did you consider using a development board for development and testing? That for sure is more comfortable and affordable solution for sustainable development than a specific retail product (1). We at Linaro exactly work on making high-quality base software (including Android) available on low-cost devel boards, so different parties can develop ARM software more easily and with higher quality. That's also consistent with Linaro's aim of promoting ARM SoCs, not specific products. So, at this time we don't have plans to support retail devices, though that might change in the future.
That's also one area where community may kick in. On our side, we're considering what support we can provide for such different efforts, which may include providing code hosting, using our build system, validation farm, etc.
(1) Though I for sure agree that it would be nice to have Linaro supported and optimized build for some retail device. Except that I happen not to have Nexus S, so would vote for supporting my tablet instead ;-)
Thanks, Taras