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) */
8 -#if !defined(__AVR_TINY__)
9 +#if defined(__AVR_TINY__)
11 + .section .init4,"ax",@progbits
12 + .global __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:
23 +.L__do_copy_data_start:
24 + cpi r26, lo8(__data_end)
26 + brne .L__do_copy_data_loop
30 .section .init4,"ax",@progbits
31 .global __do_copy_data