The handbook contains: Note: On 64-bit machines, you need to specify CROSS_COMPILE=mips64-unknown-linux-gnu- (or mips64el-... if on a little-endian system) to use the 64-bit compiler. This sounds strange to me. Probably it is required for 32 bit systems only. Reproducible: Always Steps to Reproduce: 1. 2. 3. Expected Results: Compiling the kernel on a 32 bit Octane IP30 workstation works well.
MIPS team, please confirm.
why does it sound weird ? if you want to build a 64bit kernel, you need to use the 64bit toolchain
Not a bug. Pretty much every MIPS system uses 32-bit apps by default either because 64-bit is not possible (Not working in Linux, regardless of CPU) or unsupported and not recommended. MIPS are weird machines; it's pretty clear in the profile table in the handbook and in the MIPS project documents that you'll usually be compiling and running 32-bit apps.
(In reply to comment #3) > Not a bug. Pretty much every MIPS system uses 32-bit apps by default either > because 64-bit is not possible (Not working in Linux, regardless of CPU) or > unsupported and not recommended. MIPS are weird machines; it's pretty clear in > the profile table in the handbook and in the MIPS project documents that you'll > usually be compiling and running 32-bit apps. Right! But the kernel is an exception. At least for IP30 only 64 bit kernels are supported even in systems using a 32 bit ABI. So why should I add CROSS_COMPILE=mips64-unknown-linux-gnu- to the make call on 64 bit ABI systems where it is already the default? I have to specify CROSS_COMPILE for 32 bit systems to avoid using the default mips-unknown-linux-gnu-! Ahm, found my problem: I interpreted "64-bit machine" as a machine running a 64 bit ABI instead of n32 or o32. Because I use the o32 ABI I thought the note doesn't apply to me which would be wrong. Maybe "On 64-bit machines running the o32 or n32 ABI" would be clearer?