Messages in this thread Patch in this message |  | | Date | Mon, 11 Nov 1996 10:11:53 -0800 (PST) | From | Rob Glover <> | Subject | Re: modules-2.1.8 no good for me |
| |
On Mon, 11 Nov 1996, Eugenio Jimenez Yguacel wrote:
> > On 11 Nov 1996, Neal Becker wrote: > > > I just build modules-2.1.8. I tried it with 2.1.8, and 2.0.5, both > > built with kerneld support. > > > > kerneld doesn't work with either kernel since this change. The > > modules are loaded, but don't work. For example, I built vfat support > > as a modules. If I do > > > > mount ... -t vfat > > > > it says "vfat not supported by kernel" > > > > lsmod lists vfat, but says "uninitialized" > > > > insmod vfat dumps core. > > > Same here, > modules-2.1.8 doesn't work with linux-2.0.25 (neither 2.1.8). Kerneld is > unable to load network modules (manual insmod 8390 dumps core :-( > gcc-2.7.2, libc-5.4.7, libg++2.7.2.1 <SNIP SNIP!>
Ok. Here is a patch for modules-2.1.8 that will allow it to work with kernels 2.0.25 AND 2.1.8.
--- modules-2.1.8/insmod/load_elf.c~ Mon Nov 4 07:56:58 1996 +++ modules-2.1.8/insmod/load_elf.c Sun Nov 10 20:47:21 1996 @@ -366,7 +366,8 @@ }
/* JEJB: zero the bss (now it's actually allocated) */ - memset(secref[bss_seg], 0, bss_size); + if (bss_size) + memset(secref[bss_seg], 0, bss_size);
for (spnt = sections, i = 0; i < epnt->e_shnum; ++i, ++spnt) { #ifdef __i386__ @@ -622,7 +623,9 @@ }
loaded = (char *)(((int)loaded + 3) & ~3); - bss_size = loaded - secref[bss_seg]; + /* yur: don't change bss_size if no bss in the module */ + if (secref[bss_seg]) + bss_size = loaded - secref[bss_seg]; progsize = codesize = loaded - textseg; aout_flag = 0; /* i.e.: if it's not a.out, it _has_ to be ELF... */ if (defsym(strncmp, "_GLOBAL_OFFSET_TABLE_", loaded - textseg, N_BSS | N_EXT, TRANSIENT))
|  |