Perspective of 0xdroid Toolchain

3 views
Skip to first unread message

Jim Huang

unread,
Oct 11, 2009, 9:53:26 AM10/11/09
to 0xlab...@googlegroups.com, archa...@embinux.com
Hello list,

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

Jim Huang

unread,
Oct 20, 2009, 10:27:30 PM10/20/09
to 0xlab...@googlegroups.com
2009/10/11 Jim Huang <js...@0xlab.org>:
[...]

> 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:

(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,

Leo Liang

unread,
Oct 21, 2009, 11:25:10 PM10/21/09
to 0xlab...@googlegroups.com
Hi guys.

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

Jim Huang

unread,
Oct 21, 2009, 11:30:48 PM10/21/09
to 0xlab...@googlegroups.com
2009/10/22 Leo Liang <lxs...@gmail.com>:

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!

Jim Huang

unread,
Oct 22, 2009, 12:23:33 AM10/22/09
to 0xlab...@googlegroups.com
2009/10/21 Jim Huang <js...@0xlab.org>:

> 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.
>

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,

Jim Huang

unread,
Oct 29, 2009, 5:09:49 AM10/29/09
to 0xlab...@googlegroups.com
2009/10/22 Jim Huang <js...@0xlab.org>:

> 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

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

Jim Huang

unread,
Dec 21, 2009, 10:14:19 AM12/21/09
to 0xlab...@googlegroups.com
2009/10/29 Jim Huang <js...@0xlab.org>:

> 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.
>

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!

Jim Huang

unread,
Aug 10, 2010, 12:12:22 PM8/10/10
to 0xlab...@googlegroups.com
2009/12/21 Jim Huang <js...@0xlab.org>:

> 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

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

Reply all
Reply to author
Forward
0 new messages