root@gm# time pkg_add avr-binutils-2.15_4.tbz
real    0m6.291s
user    0m4.026s
sys     0m0.671s

root@gm# time pkg_add avr-gcc-3.4.3_1.tbz
real    0m10.314s
user    0m5.338s
sys     0m0.819s

root@gm# time pkg_add avarice-2.3.tbz
real    0m2.169s
user    0m1.202s
sys     0m0.387s

root@gm# cat test.c
int i;
char ch;

int
my_add(int a, int b) {
return a+b;
}

int
main () {
int b;
char a;

        i=1101;
        ch = i && 0x3f;
        b = my_add (i,ch);
        i = b  / 123;
}

root@gm# avr-gcc -c -O2 -o tst-avr -mmcu=atmega8 test.c
root@gm# avr-objdump -S tst-avr

tst-avr:     file format elf32-avr

Disassembly of section .text:

00000000 <my_add>:
   0:   86 0f           add     r24, r22
   2:   97 1f           adc     r25, r23
   4:   08 95           ret

00000006 <main>:
   6:   c0 e0           ldi     r28, 0x00       ; 0
   8:   d0 e0           ldi     r29, 0x00       ; 0
   a:   de bf           out     0x3e, r29       ; 62
   c:   cd bf           out     0x3d, r28       ; 61
   e:   81 e0           ldi     r24, 0x01       ; 1
  10:   80 93 00 00     sts     0x0000, r24
  14:   61 e0           ldi     r22, 0x01       ; 1
  16:   70 e0           ldi     r23, 0x00       ; 0
  18:   8d e4           ldi     r24, 0x4D       ; 77
  1a:   94 e0           ldi     r25, 0x04       ; 4
  1c:   f1 df           rcall   .-30            ; 0x0
  1e:   6b e7           ldi     r22, 0x7B       ; 123
  20:   70 e0           ldi     r23, 0x00       ; 0
  22:   00 d0           rcall   .+0             ; 0x24
  24:   70 93 00 00     sts     0x0000, r23
  28:   60 93 00 00     sts     0x0000, r22
  2c:   00 c0           rjmp    .+0             ; 0x2e

root@gm# time pkg_add arm-rtems-binutils-2.13.2.1_3.tbz
real    0m6.449s
user    0m4.074s
sys     0m0.641s

root@gm# time pkg_add arm-rtems-gcc-3.2.3_4.tbz
real    0m33.325s
user    0m20.796s
sys     0m2.360s

root@gm# arm-rtems-gcc -c -O2 -mcpu=arm920t -o tst-arm test.c
root@gm# arm-rtems-objdump -S tst-arm

tst-arm:     file format elf32-littlearm

Disassembly of section .text:

00000000 <my_add>:
   0:   e0800001        add     r0, r0, r1
   4:   e1a0f00e        mov     pc, lr

00000008 <main>:
   8:   e1a0c00d        mov     ip, sp
   c:   e92dd810        stmdb   sp!, {r4, fp, ip, lr, pc}
  10:   e59f3038        ldr     r3, [pc, #56]   ; 50 <main+0x48>
  14:   e24cb004        sub     fp, ip, #4      ; 0x4
  18:   e59fc034        ldr     ip, [pc, #52]   ; 54 <main+0x4c>
  1c:   e3a02001        mov     r2, #1  ; 0x1
  20:   e59f4030        ldr     r4, [pc, #48]   ; 58 <main+0x50>
  24:   e1a0000c        mov     r0, ip
  28:   e1a01002        mov     r1, r2
  2c:   e5c32000        strb    r2, [r3]
  30:   e584c000        str     ip, [r4]
  34:   ebfffffe        bl      0 <my_add>
  38:   e59f301c        ldr     r3, [pc, #28]   ; 5c <main+0x54>
  3c:   e1a02fc0        mov     r2, r0, asr #31
  40:   e0c1c093        smull   ip, r1, r3, r0
  44:   e0622241        rsb     r2, r2, r1, asr #4
  48:   e5842000        str     r2, [r4]
  4c:   e91ba810        ldmdb   fp, {r4, fp, sp, pc}
  50:   00000000        andeq   r0, r0, r0
  54:   0000044d        andeq   r0, r0, sp, asr #8
  58:   00000000        andeq   r0, r0, r0
  5c:   214d0215        cmpcs   sp, r5, lsl r2

root@gm# arm-rtems-gcc -c -O2 -mcpu=arm920t -mthumb -o tst-arm test.c
root@gm# arm-rtems-objdump -S tst-arm

tst-arm:     file format elf32-littlearm

Disassembly of section .text:

00000000 <my_add>:
   0:   1840            add     r0, r0, r1
   2:   4770            bx      lr

00000004 <main>:
   4:   b510            push    {r4, lr}
   6:   4c07            ldr     r4, [pc, #28]   (24 <main+0x20>)
   8:   4b07            ldr     r3, [pc, #28]   (28 <main+0x24>)
   a:   4808            ldr     r0, [pc, #32]   (2c <main+0x28>)
   c:   2201            mov     r2, #1
   e:   701a            strb    r2, [r3, #0]
  10:   2101            mov     r1, #1
  12:   6020            str     r0, [r4, #0]
  14:   fffef7ff        bl      0 <my_add>
  18:   217b            mov     r1, #123
  1a:   fffef7ff        bl      0 <my_add>
  1e:   6020            str     r0, [r4, #0]
  20:   bd10            pop     {r4, pc}
        ...
  2a:   0000            lsl     r0, r0, #0
  2c:   044d            lsl     r5, r1, #17
        ...
root@gm# arm-rtems-gcc -c -O2 -mcpu=arm920t -mthumb -mbig-endian -o tst-arm
test.c
root@gm# arm-rtems-objdump -S tst-arm

tst-arm:     file format elf32-bigarm

Disassembly of section .text:

00000000 <my_add>:
   0:   1840            add     r0, r0, r1
   2:   4770            bx      lr

00000004 <main>:
   4:   b510            push    {r4, lr}
   6:   4c07            ldr     r4, [pc, #28]   (24 <main+0x20>)
   8:   4b07            ldr     r3, [pc, #28]   (28 <main+0x24>)
   a:   4808            ldr     r0, [pc, #32]   (2c <main+0x28>)
   c:   2201            mov     r2, #1
   e:   701a            strb    r2, [r3, #0]
  10:   2101            mov     r1, #1
  12:   6020            str     r0, [r4, #0]
  14:   f7fffffe        bl      0 <my_add>
  18:   217b            mov     r1, #123
  1a:   f7fffffe        bl      0 <my_add>
  1e:   6020            str     r0, [r4, #0]
  20:   bd10            pop     {r4, pc}
        ...
  2e:   Address 0x32 is out of bounds.

