[PATCH] usb: fix unaligned access

Eric Bénard eric at eukrea.com
Mon Oct 24 15:02:53 EDT 2011


Le 24/10/2011 20:37, Fabian van der Werf a écrit :
> Okay, I think it may be a compiler problem. The latest code sourcery
> compiler builds a barebox that breaks on usb. 2009q1-203 builds fine,
> however.
> In the usb code the compiler should be able to figure out that the
> access is unaligned from the packed structure. So I guess it should
> split up the access in multiple loads/stores. I will look into the
> binaries to confirm this. The latest compiler may be broken or maybe
> the default behaviour has changed because armv7 actually supports
> unaligned access.
can't this be the same problem described here with gcc 4.6 :

solved by this patch :

with the following explanation :
The kernel source marks ehci_regs as packed. gcc 4.6 treats all accesses to 
packed structures as unaligned and ends up reading the status register 
multiple times.


More information about the barebox mailing list