Hiya guys, Just a quick note to say that busybox calls strip internally, but since genkernel only passes through CC, LD and AS, cross-compiling calls the native host strip, which then barfs on the file. Genkernel then later calls its own strip (which again appeared not to be the cross-compile strip, but merely the host strip). Anyway, please find attached a patch that seems to solve the problems, by exporting UTILS_CROSS_COMPILE as CROSS_COMPILE for all tool building. Let me know if there's any problems, or any further information I can provide to help... 5:)
Created attachment 187398 [details, diff] genkernel-9999-cross-strip.patch
What is the point of setting CROSS_COMPILE=$UTILS_CROSS_COMPILE in the patch? That var isn't used anywhere.
It gets exported to ARGS in compile_generic() (or at least, that was the intention), such that during the eval command, busybox's make and so forth will get handed CROSS_COMPILE, and correctly append it to the strip command in their Makefiles (busybox does an internal strip, then genkernel does a strip afterwards). The original error I was hitting was in busybox's strip (not genkernel's), because whilst it was supposed to use "${CROSS_COMPILE}strip", that ended up just calling strip...
In fact, I probably wanted to add them to compile_utils_args(), but instead only added them to export_utils_args(). Since both seem to happen, the output only print CC, LD and AS, but I think make will be handed CROSS_COMPILE through the env and still make use of it. Would you like me to fix up the patch so that compile_utils_args() gets the same treatment? I was mostly duplicating the kernel's side of things, but it seems I missed that one...
PS: Adding keyword "Inclusion" and "[patch] " prefix to better show this bug's nature in searches...
InGit.