On 8/2/05, Dave Korn <[EMAIL PROTECTED]> wrote:
> In order for anyone to answer your questions about the alignment of
> various types in a struct, don't you think you should perhaps have told us a
> little about what those types actually are and how the struct is laid out?
Of course, my apologies. I was clearly overly terse. I declare the
structure packed as follows:
typedef struct {
uint16_t a;
uint32_t b;
} __attribute__((packed)) st;
void foo(st *s, int n)
{
memcpy(&s->b, &n, sizeof n);
}
This code generates the unaligend store:
$ arm-elf-objdump -d packed.o
...
0: e24dd004 sub sp, sp, #4 ; 0x4
4: e5801002 str r1, [r0, #2]
8: e28dd004 add sp, sp, #4 ; 0x4
c: e12fff1e bx lr
$ arm-elf-gcc --version | head -1
arm-elf-gcc (GCC) 4.0.1
Cheers,
Shaun