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)

SVN-Revision: 3004
This commit is contained in:
Nicolas Thill 2006-01-17 15:45:36 +00:00
parent c0ab7f7b2f
commit 6647743389
2 changed files with 172 additions and 7 deletions

View file

@ -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

View 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
@ -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
+