add a patch to export various kernel symbols in lib/string.c (like in 2.6),
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 17 Jan 2006 15:45:36 +0000 (15:45 +0000)
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 17 Jan 2006 15:45:36 +0000 (15:45 +0000)
fix shfs build on 2.4 (hopefully, but no real tests yet)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3004 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic-2.4/patches/225-string_lib_useful_exports.patch [new file with mode: 0644]
target/linux/package/shfs/patches/101-kmod_build.patch

diff --git a/target/linux/generic-2.4/patches/225-string_lib_useful_exports.patch b/target/linux/generic-2.4/patches/225-string_lib_useful_exports.patch
new file mode 100644 (file)
index 0000000..b89f765
--- /dev/null
@@ -0,0 +1,170 @@
+diff -ruN linux-2.4.32-old/lib/string.c linux-2.4.32-new/lib/string.c
+--- linux-2.4.32-old/lib/string.c      2004-11-17 12:54:22.000000000 +0100
++++ linux-2.4.32-new/lib/string.c      2006-01-17 14:41:17.000000000 +0100
+@@ -50,6 +50,7 @@
+       }
+       return (int)c1 - (int)c2;
+ }
++EXPORT_SYMBOL(strnicmp);
+ #endif
+ char * ___strtok;
+@@ -68,6 +69,7 @@
+               /* nothing */;
+       return tmp;
+ }
++EXPORT_SYMBOL(strcpy);
+ #endif
+ #ifndef __HAVE_ARCH_STRNCPY
+@@ -90,6 +92,7 @@
+       return tmp;
+ }
++EXPORT_SYMBOL(strncpy);
+ #endif
+ #ifndef __HAVE_ARCH_STRCAT
+@@ -109,6 +112,7 @@
+       return tmp;
+ }
++EXPORT_SYMBOL(strcat);
+ #endif
+ #ifndef __HAVE_ARCH_STRNCAT
+@@ -138,6 +142,7 @@
+       return tmp;
+ }
++EXPORT_SYMBOL(strncat);
+ #endif
+ #ifndef __HAVE_ARCH_STRCMP
+@@ -157,6 +162,7 @@
+       return __res;
+ }
++EXPORT_SYMBOL(strcmp);
+ #endif
+ #ifndef __HAVE_ARCH_STRNCMP
+@@ -178,6 +184,7 @@
+       return __res;
+ }
++EXPORT_SYMBOL(strncmp);
+ #endif
+ #ifndef __HAVE_ARCH_STRCHR
+@@ -193,6 +200,7 @@
+                       return NULL;
+       return (char *) s;
+ }
++EXPORT_SYMBOL(strchr);
+ #endif
+ #ifndef __HAVE_ARCH_STRRCHR
+@@ -210,6 +218,7 @@
+        } while (--p >= s);
+        return NULL;
+ }
++EXPORT_SYMBOL(strrchr);
+ #endif
+ #ifndef __HAVE_ARCH_STRLEN
+@@ -225,6 +234,7 @@
+               /* nothing */;
+       return sc - s;
+ }
++EXPORT_SYMBOL(strlen);
+ #endif
+ #ifndef __HAVE_ARCH_STRNLEN
+@@ -241,6 +251,7 @@
+               /* nothing */;
+       return sc - s;
+ }
++EXPORT_SYMBOL(strnlen);
+ #endif
+ #ifndef __HAVE_ARCH_STRSPN
+@@ -268,6 +279,7 @@
+       return count;
+ }
++EXPORT_SYMBOL(strspn);
+ #endif
+ #ifndef __HAVE_ARCH_STRPBRK
+@@ -288,6 +300,7 @@
+       }
+       return NULL;
+ }
++EXPORT_SYMBOL(strpbrk);
+ #endif
+ #ifndef __HAVE_ARCH_STRTOK
+@@ -345,6 +358,7 @@
+       return sbegin;
+ }
++EXPORT_SYMBOL(strsep);
+ #endif
+ #ifndef __HAVE_ARCH_MEMSET
+@@ -365,6 +379,7 @@
+       return s;
+ }
++EXPORT_SYMBOL(memset);
+ #endif
+ #ifndef __HAVE_ARCH_BCOPY
+@@ -409,6 +424,7 @@
+       return dest;
+ }
++EXPORT_SYMBOL(memcpy);
+ #endif
+ #ifndef __HAVE_ARCH_MEMMOVE
+@@ -439,6 +455,7 @@
+       return dest;
+ }
++EXPORT_SYMBOL(memmove);
+ #endif
+ #ifndef __HAVE_ARCH_MEMCMP
+@@ -458,6 +475,7 @@
+                       break;
+       return res;
+ }
++EXPORT_SYMBOL(memcmp);
+ #endif
+ #ifndef __HAVE_ARCH_MEMSCAN
+@@ -482,6 +500,7 @@
+       }
+       return (void *) p;
+ }
++EXPORT_SYMBOL(memscan);
+ #endif
+ #ifndef __HAVE_ARCH_STRSTR
+@@ -506,6 +525,7 @@
+       }
+       return NULL;
+ }
++EXPORT_SYMBOL(strstr);
+ #endif
+ #ifndef __HAVE_ARCH_MEMCHR
+@@ -528,5 +548,5 @@
+       }
+       return NULL;
+ }
+-
++EXPORT_SYMBOL(memchr);
+ #endif
index 6359004..1170103 100644 (file)
@@ -1,6 +1,6 @@
 --- shfs-0.35-orig/shfs/Linux-2.4/Makefile     2004-06-01 15:16:19.000000000 +0200
 +++ shfs-0.35-2/shfs/Linux-2.4/Makefile        2005-04-09 02:34:35.000000000 +0200
-@@ -1,3 +1,17 @@
+@@ -1,3 +1,13 @@
 +#
 +# the original Makefile was trashed and replaced by this one
 +# The main reason is that loadable modules should be built with
 +#   make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules
 +#   make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules_install
 +#
-+#
-+# $(TOPDIR)/lib/string.o is needed at link time because the memchr function 
-+# is not exported on mips (insmod: unresolved symbol memchr)
-+#
 +
  ifndef KERNEL
  KERNEL=$(shell uname -r)
  endif
-@@ -10,67 +24,30 @@
+@@ -10,67 +24,29 @@
  KERNEL_SOURCES=${MODULESDIR}/build
  endif
  
@@ -99,5 +95,4 @@
 +      rm -f core *.o *.a *.s
 +
 +shfs.o: $(shfs-objs)
-+      $(LD) -r -o $@ $(shfs-objs) $(TOPDIR)/lib/string.o
 +