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