Subject: Re: bug#5655: incorrect paths for crt1.o, crtn.o, etc.

From: Sven Joachim <[email-masked]>
Date: Tue, 27 Apr 2010 08:31:17 +0200

On 2010-04-27 05:18 +0200, Glenn Morris wrote:

> Dan Nicolaescu wrote:
>
>> src/s/gnu-linux.h 
>> would use $(CRT_DIR)
>> then src/m/amdx86-64.h would not need special casing for GNU_LINUX.
> [...]
>> ${canonical} should be sparc64-* for the 64 bit case, versul sparc-*
>> for the 32 bit one. Same for powerpc.
>
> See the latest version, it certainly looks much simpler now. I hope I
> understood all this correctly and haven't broken anything; especially
> the else branch of src/m/amdx86-64.h.

Alas, my combination of a 64-bit kernel and 32-bit userland on x86 is
broken now:

,----
| % /.configure && make
| [...]
| /usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib64/crt1.o' is incompatible with i386 output
| /usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib64/crti.o' is incompatible with i386 output
| /usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib64/crtn.o' is incompatible with i386 output
| /usr/bin/ld: final link failed: Invalid operation
| collect2: ld returned 1 exit status
| make[1]: *** [temacs] Error 1
`----

Sven