The meaning of lowercase symbol type of nm
Nick Clifton
nickc@redhat.com
Mon Jan 14 17:27:00 GMT 2019
Hi Peng,
> man nm says this.
>
> o 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 usually local;
>
> What does "usually" mean here? Is there an example when it is not
> local yet it is still in lower case? Thanks.
There are a few cases where lower case letter might not mean that
the symbol is local. For example:
u
The symbol is a unique global symbol. This is a GNU extension
to the standard set of ELF symbol bindings. For such a symbol
the dynamic linker will make sure that in the entire process
there is just one symbol with this name and type in use.
i
For PE format files this indicates that the symbol is in a
section specific to the implementation of DLLs. For ELF
format files this indicates that the symbol is an indirect
function. This is a GNU extension to the standard set of
ELF symbol types. It indicates a symbol which if referenced
by a relocation does not evaluate to its address, but instead
must be invoked at runtime. The runtime execution will then
return the value to be used in the relocation.
Cheers
Nick
More information about the Binutils
mailing list