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