[PATCH 1/39] NLKD - an alternative kallsyms approach

From: Jan Beulich
Date: Wed Nov 09 2005 - 08:55:39 EST


This patch provides an alternative to the pre-exisiting kallsyms code.
That code, from a kernel debugger perspective at least, suffers from
incomplete information, making it impossible to
(a) disambiguate multiple static functions of the same name (in
different source files),
(b) determine a complete set of attributes for a symbol (namely, the
symbol's size, but also its type, which gets converted to an nm-like
one-character representation), and
(c) retain full section information

This new approach basically makes handling core kernel and module
symbols the same, by retrieving the kernel's section, symbol, and
string tables rather than parsing the system map.

At once it adds the functionality to strip unneeded symbols from
modules, which results in non-neglectable space savings for typical
distributions (which large amounts of modules). Note that with certain
recent, but broken binutils versions (2.16.90*, 2.16.91* up to
and including 2.16.91.0.3) this can only be built without
CONFIG_MODVERSIONS.

Signed-Off-By: Jan Beulich <jbeulich@xxxxxxxxxx>

(actual patch attached)

Attachment: linux-2.6.14-kallsyms.patch
Description: Binary data