If what you say is correct, then any module created by this toolchain
would be impossible to 'insmod', and that is not the case. As I said, we
have one module which we managed to install, and it was compiled with
exactly the same toolchain. The module is quite large, has a lot of
symbols, and was NOT taken from the kernel tree. I would suspect that
there is some problem with kernel module linkage that is incompatible
with mips toolchain.
Besides that, in "old" modultils there IS a check for symtab size, and
it did work as expected. So, what you say is only part of the truth.
Keith Owens wrote:
> On Sun, 25 Feb 2001 11:06:29 +0200,
> firstname.lastname@example.org wrote:
> >I have seen this problem too. My kernel is 2.2.14 though, using modutils
> >I tried to do many things with modutils, tried even not to check the
> >boundary, but that caused crashes. The only solution that worked for me
> >was to step downwards to modutils 2.2.2. Even then, depmod segfaults
> >unless you put a remark on obj_free in some place... Hope you get a
> >better solution.
> All you are doing by using old modutils is hiding the problem and
> risking storage corruption. modutils follows the ELF specification
> "A symbol table section's sh_info section header member holds the
> symbol table index for the first non-local symbol."
> The mips toolchain is generating local symbols with index numbers
> greater than sh_info. Old modutils did not check for that and silently
> created corrupt modules. New modutils check this field for
> correctness. Fix the mips toolchain.
Jungo - R&D
Phone: 1-877-514-0537(USA) +972-9-8859365(Worldwide) ext. 233
Fax: 1-877-514-0538(USA) +972-9-8859366(Worldwide)