On Tue, Dec 02, 2014 at 06:29:52PM +0800, Jisheng Zhang wrote:
> On Tue, 2 Dec 2014 02:24:03 -0800
> Arnd Bergmann <a...@arndb.de> wrote:
> > Yes, that's definitely possible. Any idea how the android folks build their
> > kernel?
> 
> copied from https://android.googlesource.com/toolchain/build/+/HEAD/README
> 
> The Android toolchain supports the following targets:
>    a. arm-linux-androideabi
>    b. arm-eabi  (for Android kernel)
>    c. arm-newlib-eabi (for runnng gcc regression tests)
>    d. i[3456]86-*-linux-gnu, x86_64-*-linux-gnu       (for x86 targets)
> 
> So they build android kernel using the arm-eabi- toolchain.

Thanks Jisheng for all the information.

Yes, I just built my kernel with arm-eabi in android-toolchain-eabi-4.9-2014.09
and it works fine.  So we basically conclude that we should build kernel
with arm-eabi rather than arm-linux-androideabi.

One thing to note - with CONFIG_ARM_UNWIND turned on, even arm-eabi
generate the following warning.  This is one difference between android
arm-eabi and arm-linux-gnueabi we can see immediately.

  LD      vmlinux
arm-eabi-ld: warning: unwinding may not work because EXIDX input section 31 of 
fs/built-in.o is not in EXIDX output section
arm-eabi-ld: warning: unwinding may not work because EXIDX input section 12 of 
crypto/built-in.o is not in EXIDX output section
arm-eabi-ld: warning: unwinding may not work because EXIDX input section 27 of 
block/built-in.o is not in EXIDX output section
arm-eabi-ld: warning: unwinding may not work because EXIDX input section 27 of 
drivers/built-in.o is not in EXIDX output section
arm-eabi-ld: warning: unwinding may not work because EXIDX input section 33 of 
net/built-in.o is not in EXIDX output section

Shawn

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to