Index: docs/CommandGuide/llvm-nm.rst =================================================================== --- docs/CommandGuide/llvm-nm.rst +++ docs/CommandGuide/llvm-nm.rst @@ -22,39 +22,87 @@ each symbol. One record is printed per line; fields are separated by spaces. When the address is omitted, it is replaced by 8 spaces. -Type code characters currently supported, and their meanings, are as follows: +Type code characters currently supported, and their meanings, are as follows. +Where both lower and upper-case characters are listed for the same meaning, a +lower-case character represents a local symbol, whilst an upper-case character +represents a global (external) symbol: -U - Named object is referenced but undefined in this bitcode file +a, A + + Absolute symbol. + +b, B + + Unitialized data (bss) object. C - Common (multiple definitions link together into one def) + Common symbol. Multiple definitions link together into one definition. -W +d, D + + Writable data object. + +i, I + + COFF: .idata symbol or symbol in a section with IMAGE_SCN_LNK_INFO set. + +n + + ELF: .note or .comment section symbol, or local symbol from non-alloc section. + + COFF: debug symbol. + +N + + ELF: debug section symbol, or global symbol from non-alloc section. + +s, S - Weak reference (multiple definitions link together into zero or one definitions) + COFF: section symbol. -t + Mach-O: absolute symbol or symbol from a section other than __TEXT_EXEC __text, __TEXT __text, __DATA __data, or __DATA __bss. - Local function (text) object +r, R -T + Read-only data object. - Global function (text) object +t, T -d + Code (text) object. + +u + + ELF: GNU unique symbol. + +U + + Named object is referenced but undefined in this file. + +v + + ELF: Weak object reference. It is not a link failure if the object is not defined. + +V + + ELF: Weak object definition. Multiple definitions link together into zero or one definitions. + +w + + Weak symbol reference. It is not a link failure if the symbol is not defined. + +W - Local data object + Weak symbol definition. Multiple definitions link together into zero or one definitions. -D +\- - Global data object + Mach-O: N_STAB symbol. ? - Something unrecognizable + Something unrecognizable. Because LLVM bitcode files typically contain objects that are not considered to have addresses until they are linked into an executable image or dynamically