概要
llvm-nm [options] [filenames…]
描述
llvm-nm
工具用来列出llvm字节码文件,目标文件以及归档文件中的目标中的符号名称。列出每个符号以及有关其出处的一些简单信息。如果未指定文件名,或者-用作文件名,则 llvm-nm将在其标准输入流上处理文件。
llvm-nm
的默认输出格式是传统的BSD nm
输出格式。每个这样的输出记录包括一个(可选的)8位十六进制地址,后跟一个类型代码字符,后跟每个符号的名称。每行打印一条记录; 字段由空格分隔。省略地址时,将替换为8个空格。
格式字符 | 含义 |
---|---|
U | 在此bitcode文件中引用了命名对象但未定义 |
C | common(多个定义链接在一起) |
W | 弱引用(多个定义一起链接到零个或一个定义) |
t | 本地函数对象 |
T | 全局函数对象 |
d | 本地数据对象 |
D | 全局数据对象 |
? | 无法辨识的其他东西 |
因为LLVM bitcode文件通常包含在被链接到可执行映像或动态编译为“即时”之前不被认为具有地址的对象,所以llvm-nm不会为LLVM bitcode文件中的任何符号打印地址,甚至是bitcode文件中定义的符号。
选项
选项 | 说明 |
---|---|
-B (default) | 使用BSD输出格式 ,同 -format=bsd |
-P | 使用POSIX输出格式, 通过 -format=posix |
-debug-syms,-a | 显示所有符号 |
-defined-only | 仅显示在本文件中定义的符号 |
–dynamic,-D | 显示动态链接符号 |
–extern-only,g | 仅显示外部符号 |
–no-weak,-W | 不显示弱引用符号 |
–format=format, -f format | 选择一个输出格式 sysv,posix,bsd , 默认值是bsd |
-help | 输出帮助信息 |
–no-sort,-p | 按顺序显示符号 |
–numeric-sort,-n,-v | 符号按地址进行排序 |
–print-file-name,-A,-o | 在每个符号前面加上它来自的文件 |
–print-size,-S | 显示符号大小而不是地址 |
–size-sort | 符号按地址进行排序 |
–undefined-only,-u | 仅打印引用但未在此文件中定义的符号 |
–radix=RADIX, -t | 指定符号地址的基数。接受的值为d(十进制),x(十六进制)和o(八进制) |
BUGS
llvm-nm不支持GNU nm所做的全部参数
退出
llvm-nm
的退出码为0