This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


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

Re: How to make a gcc for MPC860 ?


"Pun H. Shiu" wrote:
> 
> I try that the the make process goes fine. My
> custom part of "configure" is
> 
> --target=powerpc-eabi
> --prefix=/tmp/pun \
> --exec-prefix=/tmp/pun/H-i686-pc-linux-gnu \
> 
> but I get the following error.
> /tmp/pun/H-i686-pc-linux-gnu/powerpc-eabi/bin/ld: warning: cannot
> find entry symbol _start; defaulting to 01800074
> /tmp/pun/H-i686-pc-linux-gnu/lib/gcc-lib/powerpc-eabi/2.95.2/libgcc.a(eabi.o)(.got2+0x8): undefined
> reference to `__SDATA_START__'
> /tmp/pun/H-i686-pc-linux-gnu/lib/gcc-lib/powerpc-eabi/2.95.2/libgcc.a(eabi.o)(.got2+0xc): undefined
> reference to `__SBSS_END__'

 Please browse the message archive of this list, at least the recent ones like
the following:

>> I acn get as far as the test stage of the build then get an error message
>> about the newly built compiler not producing execututables.
>
> Please explain which kind of system you think the 'mipsel-r3000-elfl' to
> be ?  Ok, a R3000-compatible CPU and little-endian ELF object format but
> what is the opsys or the I/O-structure in your board ?  Where does your
> 'Hello World' write the message? And what is the memory layout for your
> executables?
>
>  When you have these things clear, you perhaps will find the glue libraries
> for the supported MIPS-boards, select someone of them for the extra one for
> linking, besides only the 'libc.a', then select the linker script for the
> same board and get the memory layout from it. When everything is set for
> a known target, then the compiler can produce executables for it. The default
> settings are in the 'specs' file ('.../gcc/specs' during the build) and the
> essential specs are the '*link:' and the '*lib:'. To the first you add the
> linker script name and to the second the glue library name. Something like:
>
> ----------------------------- clip ----------------------------------------
> *link:
> %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} %{bestGnum} %{shared}
> %{non_shared} %(linker_endian_spec) -T idt.ld%s
>
> *lib:
> -lc -lidt -lc
>
> *libgcc:
> ----------------------------- clip ----------------------------------------

 Some targets are fully defined, some are not. The m68k-*, mips*-* and powerpc-eabi
aren't, so you must use the stuff for some real target board for them.

 You can link programs only for a known target.

Cheers, Kai


------
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]