Re: usb: descriptor structures have to be packed

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Thu, 8 Feb 2007, Phil Endecott wrote:

> Alan Stern wrote:
> > On Thu, 8 Feb 2007, Phil Endecott wrote:
> >> > From a
> >> > higher-level (source code) point of view, the alignment doesn't affect the 
> >> > set of operations which can be applied to the data type.
> >> 
> >> It affects whether you can legally use & to take its address.
> >
> > Are you sure about that?  I would think that if you take the address of an
> > unaligned quantity, you simply end up with an unaligned pointer, not with
> > a compiler error.  (Remember, we're talking specifically about GCC here.  
> > The official C language doesn't include any of these concepts.)
> 
> I'm not personally sure, but I'm repeating what I was told by the gcc 
> people when I asked.  Search for my name in gcc-help in December 2006.  
> I'm probably mis-remembering some of the details.  See e.g.
> 
> http://thread.gmane.org/gmane.comp.gcc.help/17551/focus=17554
> 
> In that message, I assert that it is unsafe "on some architectures" to 
> take the address of an unaligned packed structure member, and am told 
> that it is unsafe on *all* architectures because the compiler is 
> allowed by the C standard to assume that the least significant bits of 
> an int* are zero.

I can agree with this.  But above you said it wasn't _legal_ to take the 
address of an unaligned quantity.  That's very different from being 
_unsafe_.

You have to watch out when talking about computer languages, especially 
when compiler writers get involved.  The language lawyers will get you 
every time...

Alan Stern


-------------------------------------------------------------------------
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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.