--- /dev/null
+diff -Naurp gcc/config/avr/avr.h gcc/config/avr/avr.h
+--- gcc/config/avr/avr.h 2012-06-27 15:36:22.000000000 +0530
++++ gcc/config/avr/avr.h 2012-06-27 15:38:34.000000000 +0530
+@@ -369,7 +369,7 @@ enum reg_class {
+
+ #define ARG_POINTER_REGNUM 34
+
+-#define STATIC_CHAIN_REGNUM 2
++#define STATIC_CHAIN_REGNUM ((AVR_TINY)?18:2)
+
+ #define ELIMINABLE_REGS { \
+ {ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \