Crosstool for MPC823

Marius Groeger mgroeger@sysgo.com
Thu Oct 6 15:47:00 GMT 2005


On Thu, 6 Oct 2005, Dan Kegel wrote:

> el_gast wrote:
>>  I've modified crosstool-0.38 to work with MPC823.
>>  Here is the patch. It's tested and working.
>
> Thanks!  Four questions:
>
> 1) What was the symptom with the bad memset.S?
> How did you know it was bad?
>
> 2) Your comment says that memset.S is wrong for ppc403, too,
> is that right?  Should we remove it there, too?
>
> 3) Which versions of glibc have you tested?
> Does glibc in cvs have the same bug?
> Perhaps you should submit a bug report against
> glibc so we can get this fixed upstream!
> I really prefer to fix this kind of problem without
> cpu-specific source tree modifications in crosstool.sh.

Allow me to jump in.

Actually this is a classic; on ppc32, glibc uses cache operations to clear 
memory. Since those operations depend on the cache line size, a fix would
require glibc to be compiled depending on the cpu type.  This applies to 8xx
and 403 which have a smaller cache line size than "the rest". A dynamic
check is not in the spirit of the optimization, I suppose.

So, classically, embedded toolchains just remove the infamous memset.S 
which makes the glibc build process fall back to the generic memset() 
implementation. I think it's the right thing to do.

Marius

-- 
Marius Groeger <mgroeger@sysgo.com>
SYSGO AG                      Embedded and Real-Time Software
Voice: +49 6136 9948 0                  FAX: +49 6136 9948 10
www.sysgo.com | www.elinos.com | www.osek.de | www.pikeos.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



More information about the crossgcc mailing list