Libgloss doesn't compile for ColdFire (m68k) 51qe
Mon Jun 16 18:46:00 GMT 2008
I am wondering if anyone else has tried compiling newlib 1.15 or 1.16
with a GCC 4.3 cross compiler for ColdFire (m68k).
I am using Binutils from CVS and GCC 4.3.0. Newlib seems to be
compiling fine until it starts compiling libgloss for the 51qe CPU. I
get an error...
mismatched operands: ignored - "movec.l %0,/cacr"
I tracked it down to an inline assembly statement on line 76 of
libgloss/m68k/cf-crt1.c. The inline assembly is added unless
"__mcf_family_5213" is defined. I checked the Freescale 51qe
Datasheet and also the sources for the GNU Assembler and the register
CACR is not defined for this architecture (as far as I can tell).
Newlib is getting compiled for the following architectures:
"51qe 5206e 5208 5213 5249 5307 5329 5407 54455 5475"
All of the above CPU/Families except for the 51qe and 5213 provide the
CACR register. Modified the "#ifndef" on line 76 of cf-crt1.c to read
"#if !defined(__mcf_family_5213) && !defined(__mcf_family_51qe)" and
then Newlib seemed to compile fine. I think that this is the correct
fix but I am not sure.
I am still kinda new to this so if you need more information, please
let me know.
~ Corrin Meyer
More information about the Newlib