`
小滔哥
  • 浏览: 58043 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

readelf,objcopy,objdump使用笔记

 
阅读更多

前些天做了两件事,1.strip符号表;2.查看so文件的代码是否inline。操作步骤如下

 

1.

    readelf -sW libjvm.so | grep 'OBJECT *LOCAL *HIDDEN' | awk '{print $8}' | egrep '[.][0-9]+$' > strip_sym.lst

    objcopy --strip-symbols=strip_sym.lst -v xxx.so

    这样得到的新so文件就不含有strip掉的符号信息了,strip过程时间会稍长一点。

 

2.

    objdump -dw xxx.so > dumpxxx.txt

    通过dump出来的文件,可以看到汇编代码,进而判断函数是否inline了。

 

  • 一、readelf

man的描述,readelf - Displays information about ELF files

 

    什么是elf

    Executable and linking format(ELF)文件是x86 Linux系统下的一种常用目标文件(object file)格式,具体可以继续去查一些资料。

 

    -s选项是读符号信息,-W是整行输出,不截断。具体用法可以看man的文档

 

 

  • 二、objcopy

    man的描述,objcopy - copy and translate object files

 

    --strip-symbols选项是要strip掉的符号存储文件,具体用法参看man文档

 

  • 三、objdump

    man的描述,objdump - display information from object files.

 

    -d选项是输出汇编信息,-w是整行输出,不截断。具体用法参看man文档

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics