From af1aa301f4b91176421449141555a06f66fcafbe Mon Sep 17 00:00:00 2001 From: nico Date: Tue, 17 Jan 2006 15:45:36 +0000 Subject: [PATCH] add a patch to export various kernel symbols in lib/string.c (like in 2.6), fix shfs build on 2.4 (hopefully, but no real tests yet) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3004 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../225-string_lib_useful_exports.patch | 170 ++++++++++++++++++ .../package/shfs/patches/101-kmod_build.patch | 9 +- 2 files changed, 172 insertions(+), 7 deletions(-) create mode 100644 openwrt/target/linux/generic-2.4/patches/225-string_lib_useful_exports.patch diff --git a/openwrt/target/linux/generic-2.4/patches/225-string_lib_useful_exports.patch b/openwrt/target/linux/generic-2.4/patches/225-string_lib_useful_exports.patch new file mode 100644 index 000000000..b89f76517 --- /dev/null +++ b/openwrt/target/linux/generic-2.4/patches/225-string_lib_useful_exports.patch @@ -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 diff --git a/openwrt/target/linux/package/shfs/patches/101-kmod_build.patch b/openwrt/target/linux/package/shfs/patches/101-kmod_build.patch index 635900472..11701033f 100644 --- a/openwrt/target/linux/package/shfs/patches/101-kmod_build.patch +++ b/openwrt/target/linux/package/shfs/patches/101-kmod_build.patch @@ -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 @@ -10,15 +10,11 @@ +# 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 + -- 2.20.1