avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] gcc 4.3.0


From: Klaus Rudolph
Subject: [avr-gcc-list] gcc 4.3.0
Date: Fri, 11 Apr 2008 16:01:46 +0200
User-agent: Thunderbird 2.0.0.12 (Windows/20080213)

I have installed gcc 4.3.0 and becomes a bit confused :-)

main ends now with a "ret" and returns to undefined address from stack?

Bug or feature?

By the way:

What I want to test with my code was the new feature of gdb to have multiple breakpoints from inlined functions which works well for i386 plattform but not for avr. With i368 I got 3 breaks while inlining the ctors but only one from avr. Any ideas?

Thanks
 Klaus




My test code :
volatile int i;


class A {
    public:
        A () { i=9;}
};


int main() {
    A a;
    A b;
    A c;
}


----
Result:
00000000 <__vectors>:
   0:   0c c0           rjmp    .+24            ; 0x1a <__ctors_end>
   2:   26 c0           rjmp    .+76            ; 0x50 <__bad_interrupt>
   4:   25 c0           rjmp    .+74            ; 0x50 <__bad_interrupt>
   6:   24 c0           rjmp    .+72            ; 0x50 <__bad_interrupt>
   8:   23 c0           rjmp    .+70            ; 0x50 <__bad_interrupt>
   a:   22 c0           rjmp    .+68            ; 0x50 <__bad_interrupt>
   c:   21 c0           rjmp    .+66            ; 0x50 <__bad_interrupt>
   e:   20 c0           rjmp    .+64            ; 0x50 <__bad_interrupt>
  10:   1f c0           rjmp    .+62            ; 0x50 <__bad_interrupt>
  12:   1e c0           rjmp    .+60            ; 0x50 <__bad_interrupt>
  14:   1d c0           rjmp    .+58            ; 0x50 <__bad_interrupt>
  16:   1c c0           rjmp    .+56            ; 0x50 <__bad_interrupt>
  18:   1b c0           rjmp    .+54            ; 0x50 <__bad_interrupt>

0000001a <__ctors_end>:
  1a:   11 24           eor     r1, r1
  1c:   1f be           out     0x3f, r1        ; 63
  1e:   cf e5           ldi     r28, 0x5F       ; 95
  20:   d2 e0           ldi     r29, 0x02       ; 2
  22:   de bf           out     0x3e, r29       ; 62
  24:   cd bf           out     0x3d, r28       ; 61

00000026 <__do_copy_data>:
  26:   10 e0           ldi     r17, 0x00       ; 0
  28:   a0 e6           ldi     r26, 0x60       ; 96
  2a:   b0 e0           ldi     r27, 0x00       ; 0
  2c:   e4 e7           ldi     r30, 0x74       ; 116
  2e:   f0 e0           ldi     r31, 0x00       ; 0
30: 03 c0 rjmp .+6 ; 0x38 <.do_copy_data_start>

00000032 <.do_copy_data_loop>:
  32:   c8 95           lpm
  34:   31 96           adiw    r30, 0x01       ; 1
  36:   0d 92           st      X+, r0

00000038 <.do_copy_data_start>:
  38:   a0 36           cpi     r26, 0x60       ; 96
  3a:   b1 07           cpc     r27, r17
  3c:   d1 f7           brne    .-12            ; 0x32 <.do_copy_data_loop>

0000003e <__do_clear_bss>:
  3e:   10 e0           ldi     r17, 0x00       ; 0
  40:   a0 e6           ldi     r26, 0x60       ; 96
  42:   b0 e0           ldi     r27, 0x00       ; 0
44: 01 c0 rjmp .+2 ; 0x48 <.do_clear_bss_start>

00000046 <.do_clear_bss_loop>:
  46:   1d 92           st      X+, r1

00000048 <.do_clear_bss_start>:
  48:   a2 36           cpi     r26, 0x62       ; 98
  4a:   b1 07           cpc     r27, r17
  4c:   e1 f7           brne    .-8             ; 0x46 <.do_clear_bss_loop>
  4e:   01 c0           rjmp    .+2             ; 0x52 <main>

00000050 <__bad_interrupt>:
  50:   d7 cf           rjmp    .-82            ; 0x0 <__heap_end>

00000052 <main>:
  52:   89 e0           ldi     r24, 0x09       ; 9
  54:   90 e0           ldi     r25, 0x00       ; 0
  56:   90 93 61 00     sts     0x0061, r25
  5a:   80 93 60 00     sts     0x0060, r24
  5e:   90 93 61 00     sts     0x0061, r25
  62:   80 93 60 00     sts     0x0060, r24
  66:   90 93 61 00     sts     0x0061, r25
  6a:   80 93 60 00     sts     0x0060, r24
  6e:   80 e0           ldi     r24, 0x00       ; 0
  70:   90 e0           ldi     r25, 0x00       ; 0
  72:   08 95           ret




reply via email to

[Prev in Thread] Current Thread [Next in Thread]