Memcpy() on MPC5200B

Wright, Chuck Charles.A.Wright at snapon.com
Tue Sep 23 06:07:51 EST 2008


I've found a case where memcpy() is failing on copies longer that 4
bytes. 

Closer investigation found that the destination pointer is not pointing
to a word aligned address.

The problem comes from the JFFS2 driver where there is a struct that is
being used to create the destination pointer for the memcpy() function.

If I insert my own padding into the struct, my memcpy() problems go
away!
I'm concerned that this problem may be lurking in other areas of code.
(I get no warnings during compile)

On the MPC5200B processor, is that the assumed behavior for an unaligned
memcpy()??
Is there a gcc option to force word alignment??

I'm using a MontaVista supplied kernel and compiler. (not my choice!) 
Unfortunately, six weeks later, MontaVista is still confused.

Thanks for any help you can offer,

Chuck Wright





More information about the Linuxppc-dev mailing list