Cross compile native gcc for arm with crosstool-ng, have toolchain, which architecture deps, and which build, host, and target?

ぐ巨炮叔叔 提交于 2019-12-07 16:54:22

问题


I want to build a native gcc for arm, to run on Android, as I've built glibc for it and want to build GNU utils linked against glibc, so want to compile natively on the Android phone.

I've built the crosscompiling toolchain with crosstools-ng.

I've cross compiled glibc, fine.

Have built a couple native arm (arm-exynos-linux-gnueabi) utils, like tar etc. and confirmed they work on the Android phone, when symlinking the built x-tools sysroot's lib directory to /lib on the android machine.

Now I need to build the native gcc, so I can develop on the machine. I'm having some philosophical problems with crosscompiling, as I'm relatively inexperienced in it.

I'd therefore like to ask how to proceed in steps exactly, as I've already spent two days with a trial-by-error approach, and so far no luck.

So: gcc depends on mpc, which depends on mpfr, which depends on gmp.

So, how do I proceed?

Which architecture deps do I build, with which host target and build options?

  • make a tools dir and build these deps there, so as not to mess with the functioning toolchain?
  • gmp (no host, build, target?)
  • mpfr (same?)
  • mpc (same?)

  • then gcc, how? --host=arm-exynos-linux-gnueabi --build=i686-build_pc-linux-gnu --target=arm-exynos-linux-gnueabi ?

Is this right, or am I messing up in some of the above steps?

Incidentally, I've followed this guide http://forum.xda-developers.com/showthread.php?t=1299962 to build the crosstool-ng toolchain, and it recommends compiling the native apps just with --host=arm...

I've been doing that, and they do work on the Android system, though it doesn't seem right to me, shouldn't it be --target=arm...?

Many thanks for helping me with the above steps, as I'm blundering heavily.

来源:https://stackoverflow.com/questions/13298163/cross-compile-native-gcc-for-arm-with-crosstool-ng-have-toolchain-which-archit

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!