> i just wanted to know what is the significance of the
> System.map file which is present in the /boot directory ? .I see
> that it contains a list with three columns .
> coul someone describe what each column represents.
First one is address in memory where given "item" is located once
kernel is loaded into memroy
the last one is name of the "item"
the middle denotes type of the "item", you can find definitions of
all types in nm info page (be sure to look up the binutils man page
not the just info-nized version of plain man page). For reference they
are quoted below
Thus they let you determine what the function is from address in
memory. For example I believe 'ps' makes use of such information
(though it probably rather uses /proc/ksyms nowdays) when it
displays where given process is at given time
* The symbol type. At least the following types are used; others
are, as well, depending on the object file format. If lowercase,
the symbol is local; if uppercase, the symbol is global (external).
`A'
The symbol's value is absolute, and will not be changed by
further linking.
`B'
The symbol is in the uninitialized data section (known as
BSS).
`C'
The symbol is common. Common symbols are uninitialized data.
When linking, multiple common symbols may appear with the
same name. If the symbol is defined anywhere, the common
symbols are treated as undefined references. For more
details on common symbols, see the discussion of -warn-common
in *Note Linker options: (ld.info)Options.
details on common symbols, see the discussion of -warn-common
in *Note Linker options: (ld.info)Options.
`D'
The symbol is in the initialized data section.
`G'
The symbol is in an initialized data section for small
objects. Some object file formats permit more efficient
access to small data objects, such as a global int variable
as opposed to a large global array.
`I'
The symbol is an indirect reference to another symbol. This
is a GNU extension to the a.out object file format which is
rarely used.
`N'
The symbol is a debugging symbol.
`R'
The symbol is in a read only data section.
`R'
The symbol is in a read only data section.
`S'
The symbol is in an uninitialized data section for small
objects.
`T'
The symbol is in the text (code) section.
`U'
The symbol is undefined.
`W'
The symbol is weak. When a weak defined symbol is linked
with a normal defined symbol, the normal defined symbol is
used with no error. When a weak undefined symbol is linked
and the symbol is not defined, the value of the weak symbol
becomes zero with no error.
`-'
The symbol is a stabs symbol in an a.out object file. In
`-'
The symbol is a stabs symbol in an a.out object file. In
this case, the next values printed are the stabs other field,
the stabs desc field, and the stab type. Stabs symbols are
used to hold debugging information; for more information, see
*Note Stabs: (stabs.info)Top.
`?'
The symbol type is unknown, or object file format specific.
-- Adam http://www.eax.com The Supreme Headquarters of the 32 bit registers- 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/
This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:19 EST