Script started on Fri Nov 04 09:41:09 2005 +++CMD+++> cat foo.c typedef unsigned short uint16_t; struct foo_reg { uint16_t leds; /**< The 16 LEDs on the side of the board. */ uint16_t id_eaprom; /**< The ID EAPROM. */ uint16_t control; /**< The control register. */ uint16_t pad0; } __attribute__((__packed__)); void foo(void); void foo(void) { volatile struct foo_reg *fp = (volatile struct foo_reg *)0x9fff9800; fp->control = 0x00ff; } +++CMD+++> powerpc-rtems-gcc -O -c foo.c +++CMD+++> powerpc-rtems-objdump --disassemble --source foo.o foo.o: file format elf32-powerpc Disassembly of section .text: 00000000 : 0: 3d 20 9f ff lis r9,-24577 4: 61 29 98 00 ori r9,r9,38912 8: 38 00 00 ff li r0,255 c: b0 09 00 04 sth r0,4(r9) 10: 4e 80 00 20 blr +++CMD+++> powerpc-rtems-gcc -O -mstrict-align -c foo.c +++CMD+++> powerpc-rtems-objdump --disassemble --source foo.o foo.o: file format elf32-powerpc Disassembly of section .text: 00000000 : 0: 3d 20 9f ff lis r9,-24577 4: 61 29 98 00 ori r9,r9,38912 8: 88 09 00 04 lbz r0,4(r9) c: 38 00 00 00 li r0,0 10: 98 09 00 04 stb r0,4(r9) 14: 88 09 00 05 lbz r0,5(r9) 18: 38 00 ff ff li r0,-1 1c: 98 09 00 05 stb r0,5(r9) 20: 4e 80 00 20 blr +++CMD+++> script done on Fri Nov 04 09:41:58 2005