按部分过滤 GNU nm 的输出

Filter the output of GNU nm by section

我正在尝试为每个内存部分(.text、.data、.bss)识别 .elf 文件中的最大符号。到目前为止,我正在使用 GNU nm 来获取最大的符号:

nm foo.elf --size-sort --reverse-sort --radix=d --demangle --line-numbers

nm 中是否有内置方法来按部分过滤输出,或者我是否需要求助于文本过滤?

nm 将每个符号的部分类型输出为单个字母代码(B:.bss,D:.data,T:.text),但似乎无法按符号类型过滤。

背景:代码运行在能够直接从闪存执行指令的微控制器上。 .text 部分的指令在执行期间保留在闪存中,.bss 和.data 加载到 RAM 中。这就是我希望能够独立识别每个部分中最大符号的方式。

there seems no way to filter by symbol type.

只需使用 grep 即可执行您可能需要的任何过滤。

您可能还想看看 Bloaty McBloatface: a size profiler for binaries