This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
typedef struct
{
unsigned char test_char;
unsigned short test_short;
} __attribute__ ((__packed__)) test_struct;int main(void)
{
test_struct test_var = {0x12, 0x3456};
unsigned short* test_pointer;
printf("test_var.test_char %x\n", test_var.test_char);
printf("test_var.test_short %x\n", test_var.test_short);
test_pointer = &test_var.test_short;
*test_pointer = 0x789A; printf("test_var.test_char %x\n", test_var.test_char);
printf("test_var.test_short %x\n", test_var.test_short);return 0; }
ON A LINUX PC $ gcc --version gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ gcc test.c $ ./a.out test_var.test_char 12 test_var.test_short 3456 test_var.test_char 12 test_var.test_short 789a
$ armv5b-linux-gcc --version armv5b-linux-gcc (GCC) 3.3.3 Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ armv5b-linux-gcc --static test.c <Transfer to target> # ./a.out test_var.test_char 12 test_var.test_short 3456 test_var.test_char 78 -----------------> Short started 1 byte to early test_var.test_short 9a56 #
We think that the compiler takes the odd address and maskes out the east significant bit.
------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |