This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: RE: Byte array address alignment
- From: Alexander Neundorf <neundorf at kde dot org>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 26 Oct 2005 18:23:22 +0200
- Subject: Re: [ECOS] RE: Byte array address alignment
- References: <435F2299.2020808@cetoni.de>
- Reply-to: neundorf at kde dot org
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