Peter
------------------------------------------------------------------------
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 <foo>:
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 <foo>:
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