add gcc 3.4.6
[openwrt/svn-archive/archive.git] / openwrt / toolchain / gcc / 3.4.6 / 810-arm-bigendian-uclibc.patch
diff --git a/openwrt/toolchain/gcc/3.4.6/810-arm-bigendian-uclibc.patch b/openwrt/toolchain/gcc/3.4.6/810-arm-bigendian-uclibc.patch
new file mode 100644 (file)
index 0000000..a4d87e2
--- /dev/null
@@ -0,0 +1,27 @@
+diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
+--- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h  2004-08-16 16:08:18.000000000 -0500
++++ gcc-3.4.1/gcc/config/arm/linux-elf.h       2004-08-16 16:06:24.000000000 -0500
+@@ -107,7 +107,7 @@
+    %{rdynamic:-export-dynamic} \
+    %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
+    -X \
+-   %{mbig-endian:-EB}" \
++   %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+    SUBTARGET_EXTRA_LINK_SPEC
+ #else
+ #define LINK_SPEC "%{h*} %{version:-v} \
+diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
+--- gcc-3.4.1-dist/gcc/config.gcc      2004-08-16 16:08:18.000000000 -0500
++++ gcc-3.4.1/gcc/config.gcc   2004-08-16 16:03:25.000000000 -0500
+@@ -666,6 +666,11 @@
+       ;;
+ arm*-*-linux-uclibc*)         # ARM GNU/Linux with ELF - uClibc
+       tm_file="dbxelf.h elfos.h linux.h arm/elf.h  arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++      case $target in
++      arm*b-*)
++              tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
++              ;;
++      esac
+       tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
+       extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+       gnu_ld=yes