0d09821e49
allowing us to build a cross-depmod that runs on the host and generates the target modules.dep and modules.*map files -Erik
99 lines
4.0 KiB
Diff
99 lines
4.0 KiB
Diff
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;
|