This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello, I'm building a gnu cross toolchain for embedded application use and I ran into a problem with the target linker. The host is a pentium running Linux RH8 and the target is sparc64-elf. I downloaded and built successfully the following three packages: 1) binutils 2.14 Here's the configure command: ../binutils-2.14/configure \ --host=i686-linux-elf \ --target=sparc64-elf \ --prefix=/usr/local/sparc64tools \ --disable-nls \ -v 2) gcc 3.3.3 Here's the configure command: ../gcc-3.3.3/configure \ --host=i686-linux-elf \ --target=sparc64-elf \ --prefix=/usr/local/sparc64tools \ --enable-languages="c" \ --without-headers \ --with-newlib \ --enable-thread=single \ --disable-shared \ --disable-nls \ -v 3) newlib 1.12.0 I had to patch four .S files in libgloss/sparc to get rid of an assembly error: I added the following two lines to all four .S files. .register %g2,#scratch .register %g3,#scratch Here's the configure command: ../newlib-1.12.0/configure \ --host=i686-linux-elf \ --target=sparc64-elf \ --prefix=/usr/local/sparc64tools \ -v After building the above three packages successfully I tried compiling a simple hello.c program using the cross toolchain and I got an error about crt0.o being incompatible: [root@localhost root]# sparc64-elf-gcc -T /root/bsd/newlib-1.12.0/libgloss/sparc/ex930.ld hello.c /usr/local/sparc64tools/lib/gcc-lib/sparc64-elf/3.3.3/../../../../sparc64-elf/bin/ld: skipping incompatible /usr/local/sparc64tools/lib/gcc-lib/sparc64-elf/3.3.3/../../../../sparc64-elf/lib/crt0.o when searching for crt0.o /usr/local/sparc64tools/lib/gcc-lib/sparc64-elf/3.3.3/../../../../sparc64-elf/bin/ld: skipping incompatible /usr/local/sparc64tools/sparc64-elf/bin/../lib/crt0.o when searching for crt0.o /usr/local/sparc64tools/lib/gcc-lib/sparc64-elf/3.3.3/../../../../sparc64-elf/bin/ld: cannot find crt0.o collect2: ld returned 1 exit status It seems that the linker thinks that crt0.o is not compatible with the generated .o file. So I used sparc64-elf-objdump to verify that they are the same format: [root@localhost root]# sparc64-elf-gcc -c hello.c [root@localhost root]# sparc64-elf-objdump -p hello.o hello.o: file format elf64-sparc [root@localhost root]# sparc64-elf-objdump -p /usr/local/sparc64tools/lib/gcc-lib/sparc64-elf/3.3.3/../../../../sparc64-elf/lib/crt0.o /usr/local/sparc64tools/lib/gcc-lib/sparc64-elf/3.3.3/../../../../sparc64-elf/lib/crt0.o: file format elf64-sparc So it seems that both files are the same format. Any help getting rid of this incompatibile format problem would be much appreciated. Marco __________________________________ Do you Yahoo!? Yahoo! Search - Find what you?re looking for faster http://search.yahoo.com ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |