a2e178d6b4
The android-tools code is somewhat ugly, and defines its own u64 typedef becore including kernel headers. Unfortunately, there are specific cases where that doesn't work properly. The android-tools code defines u64 as "unsigned long long", which is now correct in the kernel. However, it used to be a time where u64 was defined as "unsigned long" on a few 64 bits architecture (at least PowerPC64 and MIPS64). The kernel headers have introduced a __SANE_USERSPACE_TYPES__ macro that userspace can define in order to get the "sane" definition, i.e "unsigned long long" for u64. Unfortunately, this __SANE_USERSPACE_TYPES__ mechanism only appeared in 3.10 on PowerPC64, and in 3.16 on MIPS64. Since android-tools is not using the autotools, and there's no easy way to test types with the C pre-processor, we simply add some more Config.in dependencies. They are a bit convoluted, but that's what the dependency really is. In our autobuilders, this issue was only showing up with an old MIPS64 toolchain that uses 3.9 kernel headers. Also, since the problem is limited to the "fastboot" tool, the dependency is only added for fastboot. Both adb and adbd build fine with this toolchain. Fixes: http://autobuild.buildroot.net/results/ce45c995bd6abda6487ae3a11b4f45a7b9b3f8eb/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
.defconfig | ||
.gitignore | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches