summaryrefslogtreecommitdiffstats
path: root/package/modutils/modutils-01.patch
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2005-09-30 20:22:13 +0000
committerEric Andersen <andersen@codepoet.org>2005-09-30 20:22:13 +0000
commit0d09821e49f7b1cc92934704f8495de5f0f2a6be (patch)
treea0fc89497038e20df2bba35252a903b249f3cc81 /package/modutils/modutils-01.patch
parent6349fd8e94a5bbf6db21780169117c0ad1fa4617 (diff)
downloadbuildroot-novena-0d09821e49f7b1cc92934704f8495de5f0f2a6be.tar.gz
buildroot-novena-0d09821e49f7b1cc92934704f8495de5f0f2a6be.zip
After some effort, I have taught depmod to handle endianness,
allowing us to build a cross-depmod that runs on the host and generates the target modules.dep and modules.*map files -Erik
Diffstat (limited to 'package/modutils/modutils-01.patch')
-rw-r--r--package/modutils/modutils-01.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/package/modutils/modutils-01.patch b/package/modutils/modutils-01.patch
new file mode 100644
index 000000000..e0303b21c
--- /dev/null
+++ b/package/modutils/modutils-01.patch
@@ -0,0 +1,98 @@
+diff -ur modutils-2.4.27/Makefile.in modutils-2.4.27-patched/Makefile.in
+--- modutils-2.4.27/Makefile.in 2004-03-07 01:24:48.000000000 -0600
++++ modutils-2.4.27-patched/Makefile.in 2005-08-17 08:41:57.000000000 -0500
+@@ -3,7 +3,7 @@
+ include Makefile.common
+
+ TARGETS = all install-bin clean distclean realclean dep depend
+-SUBDIRS = util obj insmod genksyms depmod @kerneld_SUBDIR@
++SUBDIRS = util obj insmod depmod @kerneld_SUBDIR@
+ ifneq (@kerneld_SUBDIR@,)
+ SUBDIRS += man_kerneld
+ endif
+diff -ur modutils-2.4.27/depmod/depmod.c modutils-2.4.27-patched/depmod/depmod.c
+--- modutils-2.4.27/depmod/depmod.c 2003-03-22 20:34:28.000000000 -0600
++++ modutils-2.4.27-patched/depmod/depmod.c 2005-08-17 21:33:40.000000000 -0500
+@@ -1132,8 +1132,11 @@
+ return -1;
+
+ for (ksym = ksyms; so_far < nksyms; ++so_far, ksym++) {
+- if (strncmp((char *)ksym->name, "GPLONLY_", 8) == 0)
+- ((char *)ksym->name) += 8;
++ if (strncmp((char *)ksym->name, "GPLONLY_", 8) == 0) {
++ char *p = (char *)ksym->name;
++ p += 8;
++ ksym->name = p;
++ }
+ assert(n_syms < MAX_MAP_SYM);
+ symtab[n_syms++] = addsym((char *)ksym->name, mod, SYM_DEFINED, 0);
+ }
+diff -ur modutils-2.4.27/insmod/Makefile.in modutils-2.4.27-patched/insmod/Makefile.in
+--- modutils-2.4.27/insmod/Makefile.in 2003-10-26 22:42:07.000000000 -0600
++++ modutils-2.4.27-patched/insmod/Makefile.in 2005-08-17 08:41:57.000000000 -0500
+@@ -126,10 +126,6 @@
+ $(MKDIR) $(DESTDIR)$(sbindir); \
+ $(INSTALL) $(STRIP) $$i $(DESTDIR)$(sbindir); done;
+ set -e; \
+- for i in $(srcdir)/insmod_ksymoops_clean $(srcdir)/kernelversion; do \
+- $(MKDIR) $(DESTDIR)$(sbindir); \
+- $(INSTALL) $$i $(DESTDIR)$(sbindir); done;
+- set -e; \
+ for i in $(COMB); do \
+ ln -sf insmod $(DESTDIR)$(sbindir)/$$i; \
+ (test "$(insmod_static)" = yes && \
+diff -ur modutils-2.4.27/insmod/insmod.c modutils-2.4.27-patched/insmod/insmod.c
+--- modutils-2.4.27/insmod/insmod.c 2003-10-26 20:34:46.000000000 -0600
++++ modutils-2.4.27-patched/insmod/insmod.c 2005-08-17 21:34:04.000000000 -0500
+@@ -274,8 +274,11 @@
+ */
+ if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) {
+ gplonly_seen = 1;
+- if (gpl)
+- ((char *)s->name) += 8;
++ if (gpl) {
++ char *p = (char *)s->name;
++ p += 8;
++ s->name = p;
++ }
+ else
+ continue;
+ }
+diff -ur modutils-2.4.27/obj/obj_kallsyms.c modutils-2.4.27-patched/obj/obj_kallsyms.c
+--- modutils-2.4.27/obj/obj_kallsyms.c 2002-02-28 18:39:06.000000000 -0600
++++ modutils-2.4.27-patched/obj/obj_kallsyms.c 2005-08-17 21:29:36.000000000 -0500
+@@ -200,8 +200,8 @@
+
+ /* Initial contents, header + one entry per input section. No strings. */
+ osec->header.sh_size = sizeof(*a_hdr) + loaded*sizeof(*a_sec);
+- a_hdr = (struct kallsyms_header *) osec->contents =
+- xmalloc(osec->header.sh_size);
++ osec->contents = xmalloc(osec->header.sh_size);
++ a_hdr = (struct kallsyms_header *) osec->contents;
+ memset(osec->contents, 0, osec->header.sh_size);
+ a_hdr->size = sizeof(*a_hdr);
+ a_hdr->sections = loaded;
+@@ -275,8 +275,8 @@
+ a_hdr->symbol_off +
+ a_hdr->symbols*a_hdr->symbol_size +
+ strings_size - strings_left;
+- a_hdr = (struct kallsyms_header *) osec->contents =
+- xrealloc(a_hdr, a_hdr->total_size);
++ osec->contents = xrealloc(a_hdr, a_hdr->total_size);
++ a_hdr = (struct kallsyms_header *) osec->contents;
+ p = (char *)a_hdr + a_hdr->symbol_off;
+ memcpy(p, symbols, a_hdr->symbols*a_hdr->symbol_size);
+ free(symbols);
+diff -ur modutils-2.4.27/obj/obj_mips.c modutils-2.4.27-patched/obj/obj_mips.c
+--- modutils-2.4.27/obj/obj_mips.c 2003-04-04 16:47:17.000000000 -0600
++++ modutils-2.4.27-patched/obj/obj_mips.c 2005-08-17 21:29:20.000000000 -0500
+@@ -244,7 +244,8 @@
+ archdata_sec->header.sh_size = 0;
+ sec = obj_find_section(f, "__dbe_table");
+ if (sec) {
+- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
++ archdata_sec->contents = xmalloc(sizeof(*ad));
++ ad = (struct archdata *) archdata_sec->contents;
+ memset(ad, 0, sizeof(*ad));
+ archdata_sec->header.sh_size = sizeof(*ad);
+ ad->__start___dbe_table = sec->header.sh_addr;