按部分过滤GNU nm的输出

我正在尝试为每个内存部分(.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中。这样,我希望能够独立识别每个部分中最大的符号。

zhutian87897998 回答:按部分过滤GNU nm的输出

  

似乎没有办法按符号类型进行过滤。

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

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

本文链接:https://www.f2er.com/3118848.html

大家都在问