This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: The meaning of lowercase symbol type of nm
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