Added patch required to get microblaze toolchain from Xilinx EDK 10.1
authoreb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Sun, 5 Oct 2008 17:01:22 +0000 (17:01 +0000)
committereb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Sun, 5 Oct 2008 17:01:22 +0000 (17:01 +0000)
to build.  Also includes patch that reduces size of libgcc.a by not
inlining __udivmoddi4.

git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9721 221aa14e-8319-0410-a670-987f0aec2ac5

dtools/microblaze/mb-gcc-4.1.1-gr-1.patch [new file with mode: 0644]

diff --git a/dtools/microblaze/mb-gcc-4.1.1-gr-1.patch b/dtools/microblaze/mb-gcc-4.1.1-gr-1.patch
new file mode 100644 (file)
index 0000000..b978a4f
--- /dev/null
@@ -0,0 +1,91 @@
+diff -urN orig/Xilinx_EDK_GNU_10.1i/mb/srcs/gcc-4.1.1_libgcc_noinline_udivmoddi4.patch new/Xilinx_EDK_GNU_10.1i/mb/srcs/gcc-4.1.1_libgcc_noinline_udivmoddi4.patch
+--- /dev/null  1969-12-31 16:00:00.000000000 -0800
++++ new/Xilinx_EDK_GNU_10.1i/mb/srcs/gcc-4.1.1_libgcc_noinline_udivmoddi4.patch        2008-10-05 08:49:06.000000000 -0700
+@@ -0,0 +1,31 @@
++--- gcc-orig/gcc/libgcc2.h    2005-09-09 01:39:18.000000000 -0700
+++++ gcc/gcc/libgcc2.h         2008-10-04 11:14:11.000000000 -0700
++@@ -272,7 +272,7 @@
++ extern DWtype __moddi3 (DWtype, DWtype);
++ 
++ /* __udivmoddi4 is static inline when building other libgcc2 portions.  */
++-#if (!defined (L_udivdi3) && !defined (L_divdi3) && \
+++#if 0 && (!defined (L_udivdi3) && !defined (L_divdi3) && \
++      !defined (L_umoddi3) && !defined (L_moddi3))
++ extern UDWtype __udivmoddi4 (UDWtype, UDWtype, UDWtype *);
++ #endif
++--- gcc-orig/gcc/libgcc2.c    2005-09-27 10:11:39.000000000 -0700
+++++ gcc/gcc/libgcc2.c         2008-10-04 11:16:18.000000000 -0700
++@@ -644,7 +644,7 @@
++ \f
++ #if (defined (L_udivdi3) || defined (L_divdi3) || \
++      defined (L_umoddi3) || defined (L_moddi3))
++-#define L_udivmoddi4
+++//#define L_udivmoddi4
++ #endif
++ 
++ #ifdef L_clz
++@@ -816,7 +816,7 @@
++ 
++ #if (defined (L_udivdi3) || defined (L_divdi3) || \
++      defined (L_umoddi3) || defined (L_moddi3))
++-static inline __attribute__ ((__always_inline__))
+++//static inline __attribute__ ((__always_inline__))
++ #endif
++ UDWtype
++ __udivmoddi4 (UDWtype n, UDWtype d, UDWtype *rp)
+diff -urN orig/Xilinx_EDK_GNU_10.1i/mb/srcs/gcc-patches new/Xilinx_EDK_GNU_10.1i/mb/srcs/gcc-patches
+--- orig/Xilinx_EDK_GNU_10.1i/mb/srcs/gcc-patches      2008-01-30 11:58:58.000000000 -0800
++++ new/Xilinx_EDK_GNU_10.1i/mb/srcs/gcc-patches       2008-10-05 08:50:02.000000000 -0700
+@@ -84,3 +84,4 @@
+ gcc             gcc-4.1.1_mb_usmul.patch        Add usmulsi3_highpart pattern to MB
+ gcc             gcc-4.1.1_sections_cleanup.patch Cleanup section assignments in GCC
+ gcc             gcc-4.1.1_mb_nomergestr.patch   Don't use merged string sections
++gcc           gcc-4.1.1_libgcc_noinline_udivmoddi4.patch       Don't inline udivmoddi4
+diff -urN orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss.patch new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss.patch
+--- orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss.patch     2008-01-29 15:42:56.000000000 -0800
++++ new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss.patch      2008-10-05 08:47:12.000000000 -0700
+@@ -232,7 +232,7 @@
+ +all: ${CRT} ${OBJS}\r
+  \r
+  install: ${CRT}\r
+-      @for crt in ${CRT}; do\\r
++      @for crt in ${CRT}; do \\r
+ diff -urNp --exclude '*.swp' newlib-orig/libgloss/microblaze/open.c newlib/libgloss/microblaze/open.c\r
+ --- newlib-orig/libgloss/microblaze/open.c    1969-12-31 16:00:00.000000000 -0800\r
+ +++ newlib/libgloss/microblaze/open.c 2007-05-07 19:07:04.000000000 -0700\r
+diff -urN orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss_more_funcs.patch new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss_more_funcs.patch
+--- orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss_more_funcs.patch  2008-01-29 15:42:56.000000000 -0800
++++ new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libgloss_more_funcs.patch   2008-10-05 08:47:12.000000000 -0700
+@@ -1007,7 +1007,7 @@
+ @@ -71,7 +71,7 @@ all: ${CRT} ${LIB}
+  
+  install: ${CRT} ${LIB}
+-      @for crt in ${CRT}; do\
++      @for crt in ${CRT}; do \
+ -     $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \
+ +     $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \
+       done
+diff -urN orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libmb.patch new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libmb.patch
+--- orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libmb.patch        2008-01-29 15:42:56.000000000 -0800
++++ new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14.0_libmb.patch 2008-10-05 08:47:12.000000000 -0700
+@@ -25,7 +25,7 @@
+  \r
+ -install: ${CRT}\r
+ +install: ${CRT} ${LIB}\r
+-      @for crt in ${CRT}; do\\r
++      @for crt in ${CRT}; do \\r
+       $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \\r
+       done\r
+ +     $(INSTALL_PROGRAM) ${LIB} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}\r
+diff -urN orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14_crt.patch new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14_crt.patch
+--- orig/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14_crt.patch    2008-01-29 15:42:56.000000000 -0800
++++ new/Xilinx_EDK_GNU_10.1i/mb/srcs/newlib-1.14_crt.patch     2008-10-05 08:47:12.000000000 -0700
+@@ -619,7 +619,7 @@
+ +all: ${CRT} 
+ +
+ +install: ${CRT}
+-+     @for crt in ${CRT}; do\
+++     @for crt in ${CRT}; do \
+ +     $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \
+ +     done
+ +