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]

More on mips-elf cross compile....


Well, thanks to David Korn's wonderful explanation, it worked...sort
of.

I configure, compile, and install binutils.  No problem
I configure, compile, and install gcc (core C only).  No problem (HURRAY!)
I configure, compile, and install newlib.  No problem
I configure and compile Full GCC....fails with an error:

----------------------------------------------------------------------
In file included from ../../gcc-2.95.3/gcc/cp/tinfo.cc:31:
../../gcc-2.95.3/gcc/cp/tinfo.h:4: typeinfo: No such file or directory
../../gcc-2.95.3/gcc/cp/tinfo.cc:32: new: No such file or directory
make[4]: *** [tinfo.o] Error 1
make[3]: *** [libgcc2.a] Error 1
make[2]: *** [stmp-multilib-sub] Error 2
make[1]: *** [stmp-multilib] Error 1
make: *** [all-gcc] Error 2
----------------------------------------------------------------------

Now, I was thinking...do I really care about the last step?  Our
project will *only* be using C to compile programs for the embedded
mips processor, after all.  So why worry about compiling all the rest?
It would be nice to eventually get it to all compile (for my own
satisfaction only as we need only C), but so long as we can compile
pure C programs, I am happy.

Given that, I tried using gcc to compile a simple test program and got
the following error at the linking stage:

To compile/link, I run the command:

  /usr/gnu/mips-elf/bin/mips-elf-gcc -Wl,"-oformat srec" test.c

To generate S-Records, and the error that results is:

----------------------------------------------------------------------
/usr/gnu/mips-elf/mips-elf/lib/crt0.o: In function `zerobss':
../../../../newlib-1.9.0/libgloss/mips/crt0.S:132: undefined reference to `get_mem_info'
../../../../newlib-1.9.0/libgloss/mips/crt0.S:136: undefined reference to `__stack'
../../../../newlib-1.9.0/libgloss/mips/crt0.S:136: undefined reference to `__stack'
/usr/gnu/mips-elf/mips-elf/lib/crt0.o: In function `init':
../../../../newlib-1.9.0/libgloss/mips/crt0.S:172: undefined reference to `hardware_init_hook'
../../../../newlib-1.9.0/libgloss/mips/crt0.S:172: undefined reference to `hardware_init_hook'
../../../../newlib-1.9.0/libgloss/mips/crt0.S:178: undefined reference to `software_init_hook'
../../../../newlib-1.9.0/libgloss/mips/crt0.S:178: undefined reference to `software_init_hook'
../../../../newlib-1.9.0/libgloss/mips/crt0.S:185: undefined reference to `atexit'
/usr/gnu/mips-elf/lib/gcc-lib/mips-elf/2.95.3/libgcc.a(_exit.o): In function `exit':
/usr/share/src/elf/build-gcc-2.95.3-mips-elf/gcc/../../gcc-2.95.3/gcc/libgcc2.c(.text+0x14):
undefined reference to `_cleanup'
collect2: ld returned 1 exit status
----------------------------------------------------------------------

Based on a brief search of the web, it looks like this error is
appearing because no link script is provided....anyone know if this is
correct?  If all we need to do is learn the proper user of the
compiler/linker for an embedded system, my task is finished.  I just
want to verify that this is not a problem on the compilations side
(i.e. I missed compiling something).

The above error sounds a lot like a missing link script, but I would
like to be certain as I am soon going to vacation for a week and want
teh compiler ready for general consumption before I leave.

BTW, in the course of my experiments I created a very versitile script
for compiling the utilities....after I add a bit of polish to the
script I will post it here for general consumption...might be useful
to others.

--David



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]