diff -Nur modutils-2.4.18/ChangeLog modutils-2.4.19/ChangeLog --- modutils-2.4.18/ChangeLog Mon Jul 22 17:19:46 2002 +++ modutils-2.4.19/ChangeLog Wed Jul 31 16:05:38 2002 @@ -1,3 +1,14 @@ +2002-07-31 Keith Owens + + modutils 2.4.19 + + * Correct ia64 SEGREL relocations. Fixes incorrect unwind data for + ia64 modules. + * Remove 64 bit warnings. + * New aliases. Bill Nottingham. + * Add R_PARISC_PCREL22F. Richard Hirst. + * Remove flex warning. + 2002-07-22 Keith Owens modutils 2.4.18 diff -Nur modutils-2.4.18/depmod/depmod.c modutils-2.4.19/depmod/depmod.c --- modutils-2.4.18/depmod/depmod.c Sun Jul 21 19:19:32 2002 +++ modutils-2.4.19/depmod/depmod.c Tue Jul 30 18:00:17 2002 @@ -492,7 +492,7 @@ while (*p != '\0' && p < ep) p++; if (p >= ep) { - error("unterminated generic string '%*s'", p - s, s); + error("unterminated generic string '%*s'", (int)(p - s), s); break; } if (p++ == s) /* empty string? */ diff -Nur modutils-2.4.18/genksyms/parse.y modutils-2.4.19/genksyms/parse.y --- modutils-2.4.18/genksyms/parse.y Sun Jul 21 18:24:43 2002 +++ modutils-2.4.19/genksyms/parse.y Wed Jul 31 16:05:38 2002 @@ -167,6 +167,7 @@ decl_specifier_seq_opt: /* empty */ { decl_spec = NULL; } | decl_specifier_seq + ; decl_specifier_seq: decl_specifier { decl_spec = *$1; } diff -Nur modutils-2.4.18/include/version.h modutils-2.4.19/include/version.h --- modutils-2.4.18/include/version.h Mon Jul 22 17:16:14 2002 +++ modutils-2.4.19/include/version.h Fri Jul 26 20:08:44 2002 @@ -1 +1 @@ -#define MODUTILS_VERSION "2.4.18" +#define MODUTILS_VERSION "2.4.19" diff -Nur modutils-2.4.18/insmod/modinfo.c modutils-2.4.19/insmod/modinfo.c --- modutils-2.4.18/insmod/modinfo.c Sun Mar 24 15:23:09 2002 +++ modutils-2.4.19/insmod/modinfo.c Tue Jul 30 18:00:17 2002 @@ -256,7 +256,7 @@ ++p1; else p1 = p + strlen(p); - printf("%.*s", p1 - p, p); + printf("%.*s", (int)(p1 - p), p); if (*(p1-1) == '\n') printf(" "); p = p1; diff -Nur modutils-2.4.18/insmod/rmmod.c modutils-2.4.19/insmod/rmmod.c --- modutils-2.4.18/insmod/rmmod.c Sun Apr 28 19:39:21 2002 +++ modutils-2.4.19/insmod/rmmod.c Tue Jul 30 18:00:17 2002 @@ -146,9 +146,9 @@ strncmp(obj_secname, secname, secname_len) == 0 && !obj_secname[secname_len]) { if (len != f->sections[i]->header.sh_size) { - error("Length mismatch %s vs %d", + error("Length mismatch %s vs %ld", (char *)sym->name, - f->sections[i]->header.sh_size); + (long)(f->sections[i]->header.sh_size)); return(1); } f->sections[i]->header.sh_addr = sym->value; diff -Nur modutils-2.4.18/modutils.spec modutils-2.4.19/modutils.spec --- modutils-2.4.18/modutils.spec Mon Jul 22 17:16:14 2002 +++ modutils-2.4.19/modutils.spec Fri Jul 26 20:08:44 2002 @@ -1,6 +1,6 @@ Summary: Module utilities Name: modutils -Version: 2.4.18 +Version: 2.4.19 Release: 1 Copyright: GPL Group: Utilities/System diff -Nur modutils-2.4.18/obj/obj_hppa.c modutils-2.4.19/obj/obj_hppa.c --- modutils-2.4.18/obj/obj_hppa.c Wed Sep 26 14:50:45 2001 +++ modutils-2.4.19/obj/obj_hppa.c Tue Jul 30 19:32:48 2002 @@ -355,12 +355,12 @@ no issues related to symbol visibility, lazy linking, etc. The kernels dp is fixed (at symbol $global$), and we can fix up any DPREL refs in the module to use that same dp value. - All PCREL17F refs result in a stub with the following format: + All PCREL* refs result in a stub with the following format: ldil L'func_addr,%r1 be,n R'func_addr(%sr4,%r1) - Note, all PCREL17F get a stub, regardless of whether they are + Note, all PCREL* get a stub, regardless of whether they are local or external. With local ones, and external ones to other modules, there is a good chance we could manage without the stub. I'll leave that for a future optimisation. @@ -417,6 +417,7 @@ continue; case R_PARISC_PCREL17F: + case R_PARISC_PCREL22F: need_stub = 1; break; } @@ -496,6 +497,7 @@ break; case R_PARISC_PCREL17F: + case R_PARISC_PCREL22F: /* Find an import stub. */ assert(hsym->stub != NULL); assert(hfile->stub != NULL); @@ -528,6 +530,7 @@ case R_PARISC_PLABEL32: case R_PARISC_PCREL17F: case R_PARISC_SEGREL32: + case R_PARISC_PCREL22F: fsel = e_fsel; break; @@ -580,6 +583,10 @@ case R_PARISC_DPREL14R: case R_PARISC_DIR14R: r_format = 14; + break; + + case R_PARISC_PCREL22F: + r_format = 22; break; default: diff -Nur modutils-2.4.18/obj/obj_ia64.c modutils-2.4.19/obj/obj_ia64.c --- modutils-2.4.18/obj/obj_ia64.c Fri Mar 1 11:39:06 2002 +++ modutils-2.4.19/obj/obj_ia64.c Wed Jul 31 10:41:48 2002 @@ -911,12 +911,8 @@ case R_IA64_SEGREL32LSB : /* @segrel(sym + add), data4 LSB */ case R_IA64_SEGREL64LSB : /* @segrel(sym + add), data8 LSB */ - if (targsec->header.sh_type & SHT_NOBITS) - v = ifile->bss - v; - else if (targsec->header.sh_flags & SHF_EXECINSTR) - v = ifile->text - v; - else - v = ifile->data - v; + /* Only one segment for modules, see segment_base in arch_archdata */ + v -= f->sections[1]->header.sh_addr; if (r_info == R_IA64_SEGREL32LSB) COPY_32LSB(loc, v); else diff -Nur modutils-2.4.18/util/alias.h modutils-2.4.19/util/alias.h --- modutils-2.4.18/util/alias.h Sun Apr 28 18:00:14 2002 +++ modutils-2.4.19/util/alias.h Tue Jul 30 18:31:22 2002 @@ -118,6 +118,8 @@ "char-major-10-175 agpgart", /* /dev/agpgart GART AGP mapping access */ "char-major-10-184 microcode", /* Tigran Aivazian */ + "char-major-13 input", + "char-major-13-32 mousedev", "char-major-14 soundcore", "char-major-19 cyclades", "char-major-20 cyclades", @@ -141,6 +143,7 @@ "char-major-108 ppp_generic", "char-major-109 lvm-mod", "char-major-161 ircomm-tty", + "char-major-171 raw1394", "char-major-200 vxspec", "dos msdos", @@ -150,8 +153,9 @@ "iso9660 isofs", "md-personality-1 linear", "md-personality-2 raid0", - "md-personality-3 raid1", - "md-personality-4 raid5", + "md-personality-3 raid1", + "md-personality-4 raid5", + "md-personality-7 multipath", "net-pf-1 unix", /* PF_UNIX 1 Unix domain sockets */ "net-pf-2 ipv4", /* PF_INET 2 Internet IP Protocol */ @@ -200,7 +204,7 @@ #ifndef __sparc__ "parport_lowlevel parport_pc", #else - "parport_lowlevel parport_ax", + "parport_lowlevel parport_ax", #endif "usbdevfs usbcore",