VenkatR wrote:
I want to compile gcc 4.2.2 on a solaris x86 machine ( solaris x86 with
> amd64 libraries support on an amd64 hardware) that supports the > -m64 option. That is I would want the built gcc to be able to > generate both 32 & 64 bit output files. Ok. Here is what I have tried > so far.
1. Since solaris x86 image did not have 64 bit binutils. I have built the latest version of 64 bit binutils using the default gcc compiler that comes with the OS distro.
"Latest version"? What was that?
I get the following error: amd64/libgcc_s.so.1.tmp amd64/libgcc_s.so.1 && ln -s libgcc_s.so.1 amd64/libgcc_s.so /usr/lib/amd64/crti.o: file not recognized: File format not recognized collect2: ld returned 1 exit status
I got this same error with the existing : [root@Dell gcc]# /usr/local/i486-solaris2.10/bin/ld -V GNU ld version 2.16.91.0.7 20060317 Supported emulations: elf_i386_ldso elf_i386 elf_x86_64 I had used for old gcc-3.x's ... But after updating to : [root@Dell gcc]# /usr/local/i686-solaris2.10/bin/ld -V GNU ld (Linux/GNU Binutils) 2.19.50.0.1.20081007 Supported emulations: elf_i386_ldso elf_i386 elf_x86_64 the error disappeared ! I built my GCC(s) as cross- compilers on Linux, so these binutils versions are those "Linux-binutils" in 'ftp.kernel.org'... The 64-bit multilib-support seems to have appeared with gcc-4.0, in gcc-3.4.6 only the 32-bit support was present. BTW, using a '--with-cpu=k8' or something was obligatory, otherwise the build stopped with a notice about the "selected CPU not being capable to run 64-bit binaries"...