After talking to Archan of embinux.com, I have thought for a while for
future 0xlab/0xdroid toolchain[1] perspectives. Till Android donut,
armv7 toolchain is not officially supported, and we as community
contributors are free to hack around the source. However, it does
matter
for us to ensure the software quality at least for this specific
combination. ARM Cortex-A8 / ARMv7 core is the key feature of
Beagleboard /
OMAP3. That means, we need to worry about kernel/toolchain support
(NEON/Thumb2), NEON optimization applied in Android framework,
etc. Action items: track gcc/binutils, cherry-pick from SVN head,
merge patches from OpenEmbedded/CodeSourcery.
Also, we need to confirm the toolchain functionality since new
elements involved such as thumb code generation (by default in Android
build
system) and bionic libc + dyamic linker. We are about to migrate to
Android donut codebase and rebuild android toolchain with the latest
bionic. Also, gdb will be upgraded to version 7.0 along with Thumb
fixes by Thinker Li (the submissions to Android Code Review were
accepted
and handled.) The key features in gdb 7.0 need to be verified on
Android on armv7:
- Reverse debugging, Process record and replay
- Non-stop debugging
- Multi-architecture debugging
- Multi-inferior, multi-process debugging
Profiling is another item that we are working on recently. We would
like to introduce the support for oprofile[2] and related utilities.
All of the above development will occur in 0xlab's Android toolchain builder:
http://gitorious.org/0xdroid/development/trees/master/android-toolchain
(Documentation required. There is only one fille: README at present.)
Best Regards,
Jim Huang (jserv)
http://0xlab.org/
[1] http://downloads.0xlab.org/toolchain/
http://groups.google.com/group/0xlab-devel/browse_thread/thread/041e1382b12ea1b1
[2] http://gitorious.org/0xdroid/pages/Oprofile
(continued)
GCC 4.4.2 was released on October 15, 2009 . bionic header will bump
to Donut release tree. 0xlab's policy is enabling the latest open
source technologies as possible as we can, and we are definitely about
to do.
Sincerely,
I'm checking the 0xdroid system, but I'm new to Android and I found
it's a little different with the normal linux systems,
the rootfs structure and how thing get work, I'm wondering if there
is any document about the Android system itself,
which can tell me which part of the source files is used for what
purpose...and how the system startup, howto change the
init sequence , etc. I think you all very familiar with Android
system since 0xdroid is very nice.
I've try to search..but most of the things I found is about Android
SDK and application development...
so how did you learn this kind of things...can you share?
thanks
Leo
hi Leo,
The best way to learn Android is hacking its source code along with
the materials from Android:
http://developer.android.com/
Also, mailing-list is good for clarifying your thoughts. However,
please specify the exat problem/idea you would like to discuss.
Thanks!
With gcc-4.4.2 + binutils-2.20, it is expected to close issue #20 :
http://code.google.com/p/0xdroid/issues/detail?id=20
So, the candidate combination is as following:
* gcc 4.4.2
* binutils 2.20
* gdb 7.0
* mpfr 2.4.1 + gmp 4.3.1
Regards,
The Android toolchain builder is now moved to new repository:
http://gitorious.org/0xdroid/android-toolchain
Switching branches for beagle-{cupcake-donut} is done, and it is
tested and verified.
Further development would cover the prelink and ELF specific fixes
such as .debug_info reorder.
Reference commit:
http://gitorious.org/0xdroid/external_elfcopy/commits/beagle-donut
We are switching to Eclair, and there are some critical changes within
Eclair changes.
The migration issue will be tracked here:
http://code.google.com/p/0xdroid/issues/detail?id=62
Feedbacks are always welcome. Thanks!
Hello list,
Finally, we are ready to make another Android toolchain release. This
release is expected to integrate several
improvements, based on:
- Android Toolchain team[1]: gcc-4.4.3 + binutils-2.19 + gdb-7.1.x
- Linaro Toolchain[2] : gcc-4.4.4 (with CodeSourcery patches, 4.4-2010.08-0)
So, what does 0xlab provide?
* Installable prebuilt packages (x86/x86_64 host)
* More friendly toolchain builder tweaked for Android environment
* ARM Optimizations brought by Android Team and Linaro Toolchain WG
Verified environments:
- armv7-a: Beagleboard (TI OMAP353x)
- armv6: Qualcomm MSM7x25 (arm1136j-s core)
Hopefully, I will make an announcement for the availability in my
speech session of COSCUP 2010 conference:
http://coscup.org/2010/zh-tw/program/abstracts#android-toolchain
Sincerely,
Jim Huang (jserv)
http://0xlab.org/
[1] open source efforts: http://android.git.kernel.org/
[2] https://wiki.linaro.org/WorkingGroups/ToolChainWG