On Wed, Feb 07, 2007 at 10:58:17PM +0000, Phil Endecott wrote:
[]
> This patch is:
> "Prevent an unaligned exception to occur.  (GCC 4.1) tmp is defined as char
> pointer while it is later accessed as short."
> 
> This is, in a sense, the opposite of what we're looking at.  There they 
> have added aligned(2) to a char; that makes it more aligned so it's 
> safe.  Adding packed attributes reduces the alignment, which is not 
> always safe.

Your intro pseudo-code:

|   g() {
|      char c;
|      struct S s; /* packed or not */
|      (s.intfield)++;
|      f(&s);
|   }

Due to `c', `s' gets to be unaligned, i.e. light turned before you've
touched a switch: layout of `c' is independed, it's a byte, not followed
by a byte, thus must be padded. No?.

If this wasn't acknowledged by gcc guys as a bug, maybe bigger-first,
manual padding is solution (or many other things, that original
developers have in mind, rather than haven't, while implementing,
testing, using GCC).

Anyways, i salute to guys, who have made AVR and MSP430 GCC ports, thus i
could get some understanding of things. And, i think, they are ordinary:
as me and you. So what's the problem to hack and to send patch? Of
course, ARM stuff is buried alive in chips, users, etc (:.

(still slight off topic, sorry if any)
____

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to