1llvm-nm - list LLVM bitcode and object file's symbol table 2========================================================== 3 4SYNOPSIS 5-------- 6 7:program:`llvm-nm` [*options*] [*filenames...*] 8 9DESCRIPTION 10----------- 11 12The :program:`llvm-nm` utility lists the names of symbols from the LLVM bitcode 13files, object files, or :program:`ar` archives containing them, named on the 14command line. Each symbol is listed along with some simple information about 15its provenance. If no filename is specified, *a.out* is used as the input. 16If *-* is used as a filename, :program:`llvm-nm` will read a file from its 17standard input stream. 18 19:program:`llvm-nm`'s default output format is the traditional BSD :program:`nm` 20output format. Each such output record consists of an (optional) 8-digit 21hexadecimal address, followed by a type code character, followed by a name, for 22each symbol. One record is printed per line; fields are separated by spaces. 23When the address is omitted, it is replaced by 8 spaces. 24 25Type code characters currently supported, and their meanings, are as follows. 26Where both lower and upper-case characters are listed for the same meaning, a 27lower-case character represents a local symbol, whilst an upper-case character 28represents a global (external) symbol: 29 30 31a, A 32 33 Absolute symbol. 34 35b, B 36 37 Unitialized data (bss) object. 38 39C 40 41 Common symbol. Multiple definitions link together into one definition. 42 43d, D 44 45 Writable data object. 46 47i, I 48 49 COFF: .idata symbol or symbol in a section with IMAGE_SCN_LNK_INFO set. 50 51n 52 53 ELF: local symbol from non-alloc section. 54 55 COFF: debug symbol. 56 57N 58 59 ELF: debug section symbol, or global symbol from non-alloc section. 60 61s, S 62 63 COFF: section symbol. 64 65 Mach-O: absolute symbol or symbol from a section other than __TEXT_EXEC __text, 66 __TEXT __text, __DATA __data, or __DATA __bss. 67 68r, R 69 70 Read-only data object. 71 72t, T 73 74 Code (text) object. 75 76u 77 78 ELF: GNU unique symbol. 79 80U 81 82 Named object is undefined in this file. 83 84v 85 86 ELF: Undefined weak object. It is not a link failure if the object is not 87 defined. 88 89V 90 91 ELF: Defined weak object symbol. This definition will only be used if no 92 regular definitions exist in a link. If multiple weak definitions and no 93 regular definitons exist, one of the weak definitions will be used. 94 95w 96 97 Undefined weak symbol other than an ELF object symbol. It is not a link failure 98 if the symbol is not defined. 99 100W 101 102 Defined weak symbol other than an ELF object symbol. This definition will only 103 be used if no regular definitions exist in a link. If multiple weak definitions 104 and no regular definitons exist, one of the weak definitions will be used. 105 106\- 107 108 Mach-O: N_STAB symbol. 109 110? 111 112 Something unrecognizable. 113 114Because LLVM bitcode files typically contain objects that are not considered to 115have addresses until they are linked into an executable image or dynamically 116compiled "just-in-time", :program:`llvm-nm` does not print an address for any 117symbol in an LLVM bitcode file, even symbols which are defined in the bitcode 118file. 119 120OPTIONS 121------- 122 123.. program:: llvm-nm 124 125.. option:: -B 126 127 Use BSD output format. Alias for ``--format=bsd``. 128 129.. option:: --debug-syms, -a 130 131 Show all symbols, even debugger only. 132 133.. option:: --defined-only, -U 134 135 Print only symbols defined in this file. 136 137.. option:: --demangle, -C 138 139 Demangle symbol names. 140 141.. option:: --dynamic, -D 142 143 Display dynamic symbols instead of normal symbols. 144 145.. option:: --extern-only, -g 146 147 Print only symbols whose definitions are external; that is, accessible from 148 other files. 149 150.. option:: --format=<format>, -f 151 152 Select an output format; *format* may be *sysv*, *posix*, *darwin*, or *bsd*. 153 The default is *bsd*. 154 155.. option:: --help, -h 156 157 Print a summary of command-line options and their meanings. 158 159.. option:: --help-list 160 161 Print an uncategorized summary of command-line options and their meanings. 162 163.. option:: --just-symbol-name, -j 164 165 Print just the symbol names. 166 167.. option:: -m 168 169 Use Darwin format. Alias for ``--format=darwin``. 170 171.. option:: --no-demangle 172 173 Don't demangle symbol names. This is the default. 174 175.. option:: --no-llvm-bc 176 177 Disable the LLVM bitcode reader. 178 179.. option:: --no-sort, -p 180 181 Shows symbols in order encountered. 182 183.. option:: --no-weak, -W 184 185 Don't print weak symbols. 186 187.. option:: --numeric-sort, -n, -v 188 189 Sort symbols by address. 190 191.. option:: --portability, -P 192 193 Use POSIX.2 output format. Alias for ``--format=posix``. 194 195.. option:: --print-armap, -M 196 197 Print the archive symbol table, in addition to the symbols. 198 199.. option:: --print-file-name, -A, -o 200 201 Precede each symbol with the file it came from. 202 203.. option:: --print-size, -S 204 205 Show symbol size as well as address (not applicable for Mach-O). 206 207.. option:: --radix=<RADIX>, -t 208 209 Specify the radix of the symbol address(es). Values accepted are *d* (decimal), 210 *x* (hexadecimal) and *o* (octal). 211 212.. option:: --reverse-sort, -r 213 214 Sort symbols in reverse order. 215 216.. option:: --size-sort 217 218 Sort symbols by size. 219 220.. option:: --special-syms 221 222 Ignored. For GNU compatibility only. 223 224.. option:: --undefined-only, -u 225 226 Print only undefined symbols. 227 228.. option:: --version 229 230 Display the version of this program. Does not stack with other commands. 231 232.. option:: --without-aliases 233 234 Exclude aliases from the output. 235 236.. option:: @<FILE> 237 238 Read command-line options from response file `<FILE>`. 239 240MACH-O SPECIFIC OPTIONS 241----------------------- 242 243.. option:: --add-dyldinfo 244 245 Add symbols from the dyldinfo, if they are not already in the symbol table. 246 This is the default. 247 248.. option:: --arch=<arch1[,arch2,...]> 249 250 Dump the symbols from the specified architecture(s). 251 252.. option:: --dyldinfo-only 253 254 Dump only symbols from the dyldinfo. 255 256.. option:: --no-dyldinfo 257 258 Do not add any symbols from the dyldinfo. 259 260.. option:: -s=<segment section> 261 262 Dump only symbols from this segment and section name. 263 264.. option:: -x 265 266 Print symbol entry in hex. 267 268BUGS 269---- 270 271 * :program:`llvm-nm` does not support the full set of arguments that GNU 272 :program:`nm` does. 273 274EXIT STATUS 275----------- 276 277:program:`llvm-nm` exits with an exit code of zero. 278 279SEE ALSO 280-------- 281 282llvm-dis, ar(1), nm(1) 283