This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RE: Byte array address alignment


On Wednesday 26 October 2005 08:30, Uwe Kindler wrote:
> Hello,
>
> not all compilers align byte arrays to a 4 byte boundary on a 32 bit
> machine or to a 2 byte boundary on a 16 bit machine. Even the GNU
> comiler does not follow these alignment rules for all machines. For
> example the h8300-elf toolchain does not align byte arrays and this is a
> big problem for eCos development because the eCos source code contains a
> number of byte arrays (i.e. the idle thread stack) that are expected to
> be aligned. In my opinion, if a certain alignment of arrays is required
> it should be explicit declared by using another data type (i.e. short or
> long).

Or even better and more explicit:
char buf[1024] __attribute__ ((aligned(4))); //or whatever alignment you need
This also doesn't require changing the type.

Bye
Alex
-- 
Work: alexander.neundorf@jenoptik.com - http://www.jenoptik-los.de
Home: neundorf@kde.org                - http://www.kde.org
      alex@neundorf.net               - http://www.neundorf.net

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]