当前位置:  技术问答>linux和unix

nm vmlinux 输出的symbols按照什么顺序排列的?

    来源: 互联网  发布时间:2016-06-03

    本文导语:  我使用nm vmlinux  >wolf 输出一个wolf文件,有4个问题 1,请问symbol在wolf文件中是按照什么顺序排列的?好像不是按照地址的顺序哦。 2,c0120520 t ekey       c0333a90 B elf_platform      c015ceb8 T elevator_init     这些...

我使用nm vmlinux  >wolf 输出一个wolf文件,有4个问题
1,请问symbol在wolf文件中是按照什么顺序排列的?好像不是按照地址的顺序哦。
2,c0120520 t ekey
      c0333a90 B elf_platform
     c015ceb8 T elevator_init
    这些地址和symbol之间的 "t" "B" ”T" 表示什么? 还有好多呢,有"d",“r"等等。
3,我想了解nm 输出的格式 应该参考哪方面的资料,我执行man nm 没找到需要的东西啊。
4,System.map文件中的symbol是按照怎样的顺序排列的,我应该参考什么资料?
以上,多谢!!!

|
man nm 里面有吧


           "A" The symbolbs value is absolute, and will not be changed by further linking.

           "B"
           "b" The symbol is in the uninitialized data section (known as BSS).

           "C" The symbol is common.  Common symbols are uninitialized data.  When linking,
               multiple common symbols may appear with the same name.  If the symbol is
               defined anywhere, the common symbols are treated as undefined references.

           "D"
           "d" The symbol is in the initialized data section.

           "G"
           "g" The symbol is in an initialized data section for small objects.  Some object
               file formats permit more efficient access to small data objects, such as a
               global int variable as opposed to a large global array.

           "I" The symbol is an indirect reference to another symbol.  This is a GNU
               extension to the a.out object file format which is rarely used.

           "i" The symbol is in a section specific to the implementation of DLLs.

           "N" The symbol is a debugging symbol.

           "p" The symbols is in a stack unwind section.

           "R"
           "r" The symbol is in a read only data section.

           "S"
           "s" The symbol is in an uninitialized data section for small objects.

           "T"
           "t" The symbol is in the text (code) section.

           "U" The symbol is undefined.

           "V"
           "v" The symbol is a weak object.  When a weak defined symbol is linked with a
               normal defined symbol, the normal defined symbol is used with no error.
               When a weak undefined symbol is linked and the symbol is not defined, the
               value of the weak symbol becomes zero with no error.  On some systems,
               uppercase indicates that a default value has been specified.

           "W"
           "w" The symbol is a weak symbol that has not been specifically tagged as a weak
               object symbol.  When a weak defined symbol is linked with a normal defined
               symbol, the normal defined symbol is used with no error.  When a weak
               undefined symbol is linked and the symbol is not defined, the value of the
               symbol is determined in a system-specific manner without error.  On some
               systems, uppercase indicates that a default value has been specified.

           "-" The symbol is a stabs symbol in an a.out object file.  In this case, the
               next values printed are the stabs other field, the stabs desc field, and the
               stab type.  Stabs symbols are used to hold debugging information.

           "?" The symbol type is unknown, or object file format specific.


没有特定指明的话,一般按字母顺序排列

|
http://blog.csdn.net/babylon_0049/archive/2009/04/20/4096005.aspx

这里很详细

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • vmlinux.lds.S中的jiffies = jiffies_64问题
  • 链接脚本vmlinux.lds.S的问题!
  • 关于内核的启动地址0x30008000与连接脚本vmlinux.lds
  • 链接脚本vmlinux.lds.S的问题!
  • make: *** [vmlinux] Error 1
  • make[1]: *** [vmlinux] 错误 1


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3