Re: Align attribute in gcc requiring alignment of 2 for Xmegas with USB.

"Weddington, Eric" <[email protected]>
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <F4ADC872C7AFBE49A9CEDE5C75191C2740555030@dvrmbx01>

> -----Original Message-----
> From: Weddington, Eric
> Sent: Monday, November 19, 2012 8:58 AM
> To: Thomas, George; [email protected]
> Subject: RE: [avr-gcc-list] Align attribute in gcc requiring alignment of 2
> for Xmegas with USB.
> 
> > Section 20.13.7 of the Xmega manual speaks about the requirement of 16
> bit
> > alignment.
> >
> > http://www.atmel.com/images/doc8331.pdf
> >
> > As the MAXIMUM_ALIGNMENT in avr.h is set to 1,  it throws an error when
> > trying to compile.
> >
> > I have attached a patch which sets it to 2 by default in the compiler.
> > I have also attached a case which fails.
> >
> > Would this be an acceptable change ?
> 
> Hi George,
> 
> No, this would not be an acceptable change, because it is changing the data
> alignment for the whole compiler, when there is only a restriction on a
> data structure for a single peripheral for a small subset of the AVR
> processors.
> 
> This is why the data attribute "aligned" exists. Just do this for your data
> structure:
> __attribute__ ((aligned (2)))
> 

Excuse me, perhaps I have this wrong... (It's still early for me).

Does changing MAXIMUM_ALIGNMENT allow the aligned attribute to work? If we don't change MAXIMUM_ALIGNMENT, are you saying that the aligned attribute fails?

If so, then YES, I would be open to a change that allows it to work...

Eric
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.