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: [EMAIL PROTECTED] - http://www.jenoptik-los.de Home: [EMAIL PROTECTED] - http://www.kde.org [EMAIL PROTECTED] - 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
