]> git.pld-linux.org Git - packages/crossavr-gcc.git/blob - 308-gcc-avrtc537.patch
- synchronized patches with official AVR toolchain 3.4.1.830
[packages/crossavr-gcc.git] / 308-gcc-avrtc537.patch
1 diff -Naurp gcc/config/avr/libgcc.S gcc/config/avr/libgcc.S
2 --- gcc/config/avr/libgcc.S     2012-05-29 16:32:53.000000000 +0530
3 +++ gcc/config/avr/libgcc.S     2012-06-04 18:31:55.000000000 +0530
4 @@ -782,7 +782,26 @@ __tablejump__:
5  #endif /* defined (L_tablejump) */
6  #endif
7  
8 -#if !defined(__AVR_TINY__)
9 +#if defined(__AVR_TINY__)
10 +#ifdef L_copy_data
11 +        .section .init4,"ax",@progbits
12 +        .global __do_copy_data
13 +__do_copy_data:
14 +        ldi     r18, hi8(__data_end)
15 +        ldi     r26, lo8(__data_start)
16 +        ldi     r27, hi8(__data_start)
17 +        ldi     r30, lo8(__data_load_start + __AVR_TINY_PM_BASE_ADDRESS__)
18 +        ldi     r31, hi8(__data_load_start + __AVR_TINY_PM_BASE_ADDRESS__)
19 +        rjmp    .L__do_copy_data_start
20 +.L__do_copy_data_loop:
21 +        ld      r19, z+
22 +        st      X+, r19
23 +.L__do_copy_data_start:
24 +        cpi     r26, lo8(__data_end)
25 +        cpc     r27, r18
26 +        brne    .L__do_copy_data_loop
27 +#endif
28 +#else
29  #ifdef L_copy_data
30         .section .init4,"ax",@progbits
31         .global __do_copy_data
This page took 0.059504 seconds and 3 git commands to generate.