lkml.org 
[lkml]   [1996]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject2.1.16, 1,600 externally defined symbols with no external references
Date

There are over 1,600 externally defined kernel variables and functions
that do not appear to be referenced outside the module they are
declared in. These symbols are spread over 300+ modules.

Externally defined symbols with no external references can complicate
kernel hacking. Whenever a symbol is defined as static you *know* it
is only used in the current module or via X() or some sort of ops
structure. If a global symbol is not defined as static, you have to
start hunting for any external references, often there is none.

Some of these external names leave a lot to be desired. For example,
drivers/char/wdt.c defines 'io' and 'irq' with no prefix, a bit of name
space pollution there.

For the sanity of current and future kernel hackers, it would be nice
to reduce the number of "incorrectly" defined external variables.
Defining these symbols as static will also highlight any global
variables that are declared and not used. Given the large number of
modules, I would prefer to let the various maintainers update their own
modules.

Rather than mail a 2,000 line report to everybody on this list (15K
gzipped and uuencoded), anybody who is interested in cleaning up these
definitions can fetch the report by anonymous ftp from

ftp://ftp.ocs.com.au/pub/extra_externals-2.1.16.gz

Be gentle, it is behind a 28.8K link.


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