lkml.org 
[lkml]   [1999]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: List of undefined symbols in linux 2.3.31
In <199912121614.IAA02244@adam.yggdrasil.com> Adam J. Richter (adam@yggdrasil.com) wrote:

> References to the undefined symbols i2o_event_register and
> update_vm_cache have persisted in the 2.3.x kernels for a while now.
> I understand that i2o support in 2.3.x is in flux right now, but
> I am unclear on the situation with update_vm_cache. If they
> can safely just be deleted, then I would be happy to send a patch
> to Linus if nobody else has bothered.

No, you can not just remove update_vm_cache call. It's relict of deep VFS
rework (near 2.3.18 or something). If module calls update_vm_cache then
it should be manually reworked for new VFS model. Looks like ntfs, affs
and qnx4 are orphan now (if they was not accomodated to new VFS for half-year!)
and should be removed from 2.4 :-/ It'll be sad things since at least ntfs is
usefull sometimes ...

> The class to __divdi3 and __moddi3 in 2.3.x file system
> modules are the results of a file system attempting to support
> a block size that is not a power of two because recent 2.3.x
> kernels support 64-bit offset in files (good) but do not
> export the __divdi3 and __moddi3 routines necessary to support
> division of 64 bit integers on 32 bit architectures (I don't know
> why these routines are not exported from i386_ksyms.c, but I
> had to drop arbitratry block size support from the iso9660
> transparent compression patches to accomodate this).

I can try to find Linus's message on subject in archives but general idea was
simple: it's functions from libgcc.a and even if you can just put them in
kernel it's far better to review places where they are used and try to avoid
such manipulations -- if such functions are not inlined this means that they
are SLOW and gcc authors was unable to develop fast inlineable version. Last
place where slow functions are needed is kernel. Of course if there are no way
to redo calculations without such functions you can try to convinience Linus
(if such calculations are not on common path, for example) but it's REALLY
hard task.

> Anyhow, here is the list of currently undefined symbols
> when 2.3.31 is compiled for x86 with everything being a module,
> except for romfs and ramdisk, which are compiled in. I hope this is
> helpful in eliminating the undefined symbols from the kernel in
> preparation for 2.4.

> depmod: *** Unresolved symbols in /lib/modules/2.3.31/fs/ntfs.o
> depmod: update_vm_cache
> depmod: *** Unresolved symbols in /lib/modules/2.3.31/fs/affs.o
> depmod: __divdi3
> depmod: update_vm_cache
> depmod: __moddi3
> depmod: *** Unresolved symbols in /lib/modules/2.3.31/fs/qnx4.o
> depmod: update_vm_cache
> depmod: *** Unresolved symbols in /lib/modules/2.3.31/misc/i2o_lan.o
> depmod: i2o_event_register





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.031 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site