Németh Márton wrote:
Hi,
I would like to buld a gcc cross compiler for Freescale MPC5554 [1][2] and for
Freescale MPC5534 [3][4]. These are PowerPC based processors with e200z6 and
e200z3 core respectively.
The goal would be to compile Linux kernel for these processors using the cross
compiler.
I don't really know how to find out the proper --target= setting for binutils
and gcc build. I found "powerpc" and "ppc" on different home pages. I also
found on some pages to add "-elf" also. I also found a list on page
http://gcc.gnu.org/install/specific.html but I'm not sure what to use.
I also tried ../gcc-4.4.2/configure --target=help without success.
Is there any description where I can find out the right --target= setting?
Only the 'e500' type and AltiVec type cores seem to require a special
target type, 'powerpc-*spe*' and
'powerpc-*altivec*'. But the base template for your target name would
be 'powerpc-*linux*' because
you are going to compile a Linux kernel with it. These two special e500
and AltiVec variations would
require you to use either the 'powerpc-*linux-gnuspe' or
'powerpc-*linux-gnualtivec' target name, the
rest would be handled with the usual 'powerpc-*linux-gnu' target name.
Some PPC specialist could tell if the 'e200z*' cores are those 'e500'
type cores and therefore needing
a target name like 'powerpc-linux-gnuspe' - no "custom" name for the
vendor like "marton", in your
case a target name like 'powerpc-marton-linux-gnuspe' could be possible....
I would guess the usual 'powerpc-linux-gnu' or
'powerpc-marton-linux-gnu' (you want to emphasize that
this is YOUR self-made GCC for YOUR self-made Linux) would suit to your
purpose. The produced
GCC would be capable to produce code for any CPU-variation the usual
type without 'spe' or 'altivec'
supports, using the '-mcpu=something' etc. options.
The 'gcc/config/rs6000/rs6000.h' lists the possible '-mcpu=' variations
but among them there is nothing
like 'e200', only 'e300' and 'e500' :( At least with gcc-4.4.x ....