Are you really using a cross-compiler or are you using qemu transparent emulation? If the latter, this is a known problem, see bug# 43513. Right now, I wouldn't use qemu transparent emulation in order to build anything for systems where the register width of guest and Linux kernel is different. If you are lucky, the build fails. If you are unlucky, the build succeeds but is subtly broken. (I tried to fix that on core-updates, but core-updates without any changes already doesn't work--so I gave up)