]> git.pld-linux.org Git - packages/crossavr-libc.git/blobdiff - 511-avr-libc-tiny-stack-backported.patch
- rel 4
[packages/crossavr-libc.git] / 511-avr-libc-tiny-stack-backported.patch
diff --git a/511-avr-libc-tiny-stack-backported.patch b/511-avr-libc-tiny-stack-backported.patch
new file mode 100644 (file)
index 0000000..dd438b3
--- /dev/null
@@ -0,0 +1,232 @@
+--- configure.ac       2013-01-23 18:51:11.000000000 +0530
++++ configure.ac       2013-01-23 18:43:51.000000000 +0530
+@@ -1257,6 +1257,18 @@ AC_CONFIG_FILES([
+       avr/lib/avr2/at86rf401/Makefile
+ ])
++#avr2/tiny-stack
++AC_CONFIG_FILES([
++    avr/lib/avr2/tiny-stack/Makefile
++    avr/lib/avr2/tiny-stack/at90s2313/Makefile
++    avr/lib/avr2/tiny-stack/at90s2323/Makefile
++    avr/lib/avr2/tiny-stack/at90s2333/Makefile
++    avr/lib/avr2/tiny-stack/at90s2343/Makefile
++    avr/lib/avr2/tiny-stack/at90s4433/Makefile
++    avr/lib/avr2/tiny-stack/attiny22/Makefile
++    avr/lib/avr2/tiny-stack/attiny26/Makefile
++])
++
+ #avr25
+ AC_CONFIG_FILES([
+       avr/lib/avr25/Makefile
+@@ -1289,6 +1301,20 @@ AC_CONFIG_FILES([
+       avr/lib/avr25/attiny88/Makefile
+ ])
++#avr25/tiny-stack
++AC_CONFIG_FILES([
++    avr/lib/avr25/tiny-stack/Makefile
++    avr/lib/avr25/tiny-stack/attiny13/Makefile
++    avr/lib/avr25/tiny-stack/attiny13a/Makefile
++    avr/lib/avr25/tiny-stack/attiny2313/Makefile
++    avr/lib/avr25/tiny-stack/attiny2313a/Makefile
++    avr/lib/avr25/tiny-stack/attiny24/Makefile
++    avr/lib/avr25/tiny-stack/attiny24a/Makefile
++    avr/lib/avr25/tiny-stack/attiny25/Makefile
++    avr/lib/avr25/tiny-stack/attiny261/Makefile
++    avr/lib/avr25/tiny-stack/attiny261a/Makefile
++])
++
+ #avr3
+ AC_CONFIG_FILES([
+       avr/lib/avr3/Makefile
+--- devtools/gen-avr-lib-tree.sh       2013-01-23 19:14:33.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh       2013-01-23 19:14:47.000000000 +0530
+@@ -44,6 +44,7 @@
+ # Define the special flags for special sub-targets.
+ CFLAGS_SPACE="-mcall-prologues -Os"
++CFLAGS_TINY_STACK="-mtiny-stack -mcall-prologues -Os"
+ CFLAGS_BIG_MEMORY='-Os $(FNO_JUMP_TABLES)'
+ CFLAGS_SPEED="-Os"
+@@ -81,6 +82,17 @@ attiny461:crttn461.o:${DEV_DEFS}:${CFLAG
+ attiny861:crttn861.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
++
++AVR12TS_DEV_INFO="\
++at90s2313:crts2313.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s2323:crts2323.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s2333:crts2333.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s2343:crts2343.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s4433:crts4433.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny22:crttn22.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny26:crttn26.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS}\
++"
++
+ AVR25_DEV_INFO="\
+ at86rf401:crt86401.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ ata5272:crta5272.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -110,6 +122,18 @@ attiny861a:crttn861a.o:${DEV_DEFS}:${CFL
+ attiny87:crttn87.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ attiny88:crttn88.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
++AVR25TS_DEV_INFO="\
++attiny13:crttn13.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny13a:crttn13a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny2313:crttn2313.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny2313a:crttn2313a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny24:crttn24.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny24a:crttn24a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny25:crttn25.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny261:crttn261.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny261a:crttn261a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS}\
++"
++
+ AVR3_DEV_INFO="\
+ atmega103:crtm103.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -364,22 +388,24 @@ attiny40:crttn40.o:${DEV_DEFS}:${CFLAGS_
+ LIB_DEFS="-D__COMPILING_AVR_LIBC__"
+ AVR_ARH_INFO="\
+-avr2:AVR12_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr25:AVR25_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr3:AVR3_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr31:AVR31_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr35:AVR35_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr4:AVR4_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr5:AVR5_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr51:AVR51_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-avr6:AVR6_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-avr7:AVR7_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avrxmega2:AVRXMEGA2_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avrxmega4:AVRXMEGA4_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-avrxmega5:AVRXMEGA5_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-avrxmega6:AVRXMEGA6_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-avrxmega7:AVRXMEGA7_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-avrtiny:AVRTINY_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
++avr2::AVR12_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avr2:tiny-stack:AVR12TS_DEV_INFO:${LIB_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++avr25::AVR25_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avr25:tiny-stack:AVR25TS_DEV_INFO:${LIB_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++avr3::AVR3_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avr31::AVR31_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avr35::AVR35_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avr4::AVR4_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avr5::AVR5_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avr51::AVR51_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
++avr6::AVR6_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
++avr7::AVR7_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avrxmega2::AVRXMEGA2_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++avrxmega4::AVRXMEGA4_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
++avrxmega5::AVRXMEGA5_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
++avrxmega6::AVRXMEGA6_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
++avrxmega7::AVRXMEGA7_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
++avrtiny::AVRTINY_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
+ echo "Generating source directories:"
+@@ -414,21 +440,38 @@ ARH_SUBDIRS=""
+ for ath_lib in $AVR_ARH_INFO
+ do
+       arh=$(echo $ath_lib | cut -d ':' -f 1)
+-      dev_info=$(echo $ath_lib | cut -d ':' -f 2)
+-      lib_defs=$(echo $ath_lib | cut -d ':' -f 3)
+-      lib_cflags=$(echo $ath_lib | cut -d ':' -f 4)
+-      lib_asflags=$(echo $ath_lib | cut -d ':' -f 5)
++      sublib=$(echo $ath_lib | cut -d ':' -f 2)
++      dev_info=$(echo $ath_lib | cut -d ':' -f 3)
++      lib_defs=$(echo $ath_lib | cut -d ':' -f 4)
++      lib_cflags=$(echo $ath_lib | cut -d ':' -f 5)
++      lib_asflags=$(echo $ath_lib | cut -d ':' -f 6)
+       install_dir=$arh
+       if [ $arh = avr2 ]
+       then
+-              install_dir=""
++              if [ -z "$sublib" ] ; then
++                      install_dir=""
++              else
++                      install_dir=$sublib
++              fi
++      else
++              if [ -z "$sublib" ] ; then
++                      install_dir=$arh
++              else
++                      install_dir=$arh'/'$sublib
++              fi
+       fi
+-      echo "  avr/lib/$arh/"
++      # Install directory for sed substitution, the '/' character is masked.
++      inst_dir_masked=`echo $install_dir | sed 's/\\//\\\\\\//'`
+-      test -d $arh || mkdir $arh
+-      cd $arh || exit 1
++      # In build tree.
++      subdir=${arh}${sublib:+/}${sublib}
++      echo "  avr/lib/$subdir/"
++
++      # The first record of each arch must be sublib-free.
++      test -d $subdir || mkdir $subdir
++      cd $subdir || exit 1
+       DEV_SUBDIRS=""
+@@ -442,7 +485,7 @@ do
+               crt_cflags=$(echo $dev_crt | cut -d ':' -f 4)
+               crt_asflags=$(echo $dev_crt | cut -d ':' -f 5)
+-              echo "  avr/lib/$arh/$dev"
++              echo "  avr/lib/$subdir/$dev"
+               test -d $dev || mkdir $dev
+@@ -453,7 +496,7 @@ do
+                   -e "s/<<crt_defs>>/$crt_defs/g" \
+                   -e "s/<<crt_cflags>>/$crt_cflags/g" \
+                   -e "s/<<crt_asflags>>/$crt_asflags/g"  \
+-                  -e "s/<<install_dir>>/$install_dir/g" $dev/Makefile.am \
++                  -e "s/<<install_dir>>/$inst_dir_masked/g" $dev/Makefile.am \
+                   > $dev/tempfile && mv -f $dev/tempfile $dev/Makefile.am
+               DEV_SUBDIRS="$DEV_SUBDIRS $dev"
+@@ -466,7 +509,7 @@ do
+           -e "s/<<lib_defs>>/$lib_defs/g" \
+           -e "s/<<lib_cflags>>/$lib_cflags/g" \
+           -e "s/<<lib_asflags>>/$lib_asflags/g" \
+-          -e "s/<<install_dir>>/$install_dir/g" Makefile.am \
++          -e "s/<<install_dir>>/$inst_dir_masked/g" Makefile.am \
+           > tempfile && mv -f tempfile Makefile.am
+       # Find the first and the last lines of <<dev>> block.
+@@ -488,19 +531,22 @@ do
+       # After the <<dev>> block.
+       tail -n +$(($n2 + 1)) Makefile.am >> tempfile
+-      
++
+       # Result.
+       mv -f tempfile Makefile.am
+-      ARH_SUBDIRS="$ARH_SUBDIRS $arh"
++      ARH_SUBDIRS="$ARH_SUBDIRS $subdir"
+-      cd ..
++      cd .. || exit 1
++      if [ -n "$sublib" ] ; then
++              cd .. || exit 1
++      fi
+ done
+ cat $top_dir/devtools/Lib.am > Makefile.am
+-sed -e "s/<<arh_subdirs>>/$ARH_SUBDIRS/g" Makefile.am \
+-    > tempfile && mv -f tempfile Makefile.am
++sed -e "s/<<arh_subdirs>>/`echo $ARH_SUBDIRS | sed 's/\\//\\\\\\//g'`/g" \
++    Makefile.am > tempfile && mv -f tempfile Makefile.am
+ cd ..
This page took 0.057197 seconds and 4 git commands to generate.