On 2013-08-22 15:25, Alan Modra wrote: > On Thu, Aug 22, 2013 at 01:16:04PM +0200, Peter Rosin wrote: >> I guess I'm just thoroughly confused, but in my world there ought to >> be four variations of $host; 64- or 32-bit, and big or little endian. >> >> This patch seems to only handle builds going from 64-bit to 32-bit >> ($host powerpc64-* and 32-bit output) and compiles going from 32-bit >> to 64-bit ($host powerpc-* and 64-bit output). >> >> Both of those cases ought to be cross compiles. But I don't get why you >> apparently do not need to give any -m option to ld when you cross-compile >> from 32-bit little-endian to 32-bit big-endian and from 64-bit l-e to >> 64-bit b-e? Is the user required to provide the appropriate -m option >> manually in that case? Why is it important to be more helpful for >> crosses over the 32/64 boundary? > > Yes, we might need to handle those cases too. I've only just started > looking into the cross-endian multilib support in gcc.. > > As to why the cases I handled are more important: On a powerpc64le > linux host where the compiler defaulted to producing 64-bit objects > (which is how we generally build compilers nowadays) libtool added > -m elf64ppc to $LD here. Being the option for 64-bit big-endian, that > caused complete failure for *native* 64-bit little-endian. Which is > where the action is at the moment.
Ah, I see. Thanks! Cheers, Peter