2019独角兽企业重金招聘Python工程师标准>>>

objdump 是用来查看目标文件或者可执行的目标文件的构成的 GCC 工具。

objdump - display information from object files.

objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块)输出。
===================
-x
--all-headers
   Display  all  available header information, including the symbol table and relocation entries.  Using -x is  equivalent to specifying all of -a -f -h -p -r -t.
===================

objdump -t obj 输出目标文件的符号表。
===================
-t
--syms
   Print the symbol table entries of the file.  This is similar to the information provided by the nm program.
===================
比 nm -s 包含的符号表信息更全面。

objdump -h obj 输出目标文件的所有段概括。
===================
-h
--section-headers
--headers
   Display summary information from the section headers of the object file.

File segments may be relocated to nonstandard addresses, for example by using the -Ttext, -Tdata, or  -Tbss  options  to ld.  However, some object file formats, such as a.out, do not store the starting address of the  file segments.  In those situations, although ld relocates the sections correctly, using objdump -h to list  the  file  section headers cannot show the correct addresses.  Instead, it shows the usual addresses, which  are implicit for the target.
===================

objdump -j .text/.data -S obj 输出指定段的信息。
===================
-j name
--section=name
   Display information only for section name.
===================

===================
-S
--source
   Display source code intermixed with disassembly, if possible.  Implies -d.

--source
-S  尽可能反汇编出源代码,尤其当编译的时候指定了 -g 这种调试参数时效果比较明显。
    隐含了 -d 参数。
===================

===================
-d
--disassemble
   Display  the  assembler mnemonics for the machine instructions from objfile.  This option only disassembles
   those sections which are expected to contain instructions.

--disassemble
-d 仅反汇编应该包含指令机器码的 section 。
===================

===================
-D
--disassemble-all
   Like -d, but disassemble the contents of all sections, not just those expected to contain instructions.

--disassemble-all
-D 与 -d 类似,但反汇编所有 section 。
===================

objdump -a obj 输出 .a 文件中 .o 文件的信息 。
===================
-a
--archive-header
   If any of the objfile files are archives, display the archive header information (in a format similar to ls
   -l).  Besides the information you could list with ar tv, objdump -a shows the object file  format  of  each  archive member.
===================
比 ar tv 只多了文件格式信息(也是查看静态库文件中包含的二进制文件为 32bit 或 64bit 的方法)。

===================
-l
--line-numbers
   Label the display (using debugging information) with the filename and source line numbers corresponding  to  the object code or relocs shown.  Only useful with -d, -D, or -r.
   
--line-numbers
-l  用文件名和行号标注相应的目标代码,仅仅和 -d、-D 或者 -r 一起使用。使用 -ld 和使用 -d 的区别不是很大,在源码级调试的 时候有用,要求编译时使用了 -g 之类的调试编译选项。
===================

===================
--prefix-addresses
   When disassembling, print the complete address on each line.  This is the older disassembly format.
   
--prefix-addresses
     反汇编的时候,显示每一行的完整地址。这是一种比较老的反汇编格式。
     显示效果并不理想,但可能会用到其中的某些显示,自己可以对比。
===================

===================
--show-raw-insn
   When disassembling instructions, print the instruction in hex as well as in symbolic  form.   This  is  the  default except when --prefix-addresses is used.
   
--show-raw-insn
     反汇编的时候,显示每条汇编指令对应的十六进制机器码,这是缺省选项,除非指定了 --prefix-addresses 。
===================

===================
--no-show-raw-insn
   When  disassembling  instructions,  do  not  print  the instruction bytes.  This is the default when --pre- fix-addresses is used.

--no-show-raw-insn
     反汇编时,不显示汇编指令的十六进制机器码,这是指定 --prefix-addresses 选项时的缺省设置。     
===================

示例一:以 libevent.a 进行演示。

[root@Betty lib]# pwd
/usr/local/lib
[root@Betty lib]# ll libevent.a
-rw-r--r-- 1 root root 635122 Jul  8 13:53 libevent.a

查看 libevent.a 中包含哪些 .o 文件(权限+格式)。

[root@Betty lib]# objdump -a libevent.a
In archive libevent.a:event.o:     file format elf64-x86-64
rwxrwSrwx 0/0  58760 Jul  8 13:52 2013 event.obuffer.o:     file format elf64-x86-64
rwxrwSrwx 0/0  24168 Jul  8 13:52 2013 buffer.oevbuffer.o:     file format elf64-x86-64
rwxrwSrwx 0/0  28656 Jul  8 13:52 2013 evbuffer.olog.o:     file format elf64-x86-64
rwxrwSrwx 0/0  14392 Jul  8 13:52 2013 log.oevutil.o:     file format elf64-x86-64
rwxrwSrwx 0/0  11920 Jul  8 13:52 2013 evutil.oevent_tagging.o:     file format elf64-x86-64
rwxrwSrwx 0/0  30368 Jul  8 13:52 2013 event_tagging.ohttp.o:     file format elf64-x86-64
rwxrwSrwx 0/0 169040 Jul  8 13:52 2013 http.oevdns.o:     file format elf64-x86-64
rwxrwSrwx 0/0 150064 Jul  8 13:52 2013 evdns.oevrpc.o:     file format elf64-x86-64
rwxrwSrwx 0/0  44912 Jul  8 13:52 2013 evrpc.ostrlcpy.o:     file format elf64-x86-64
rwxrwSrwx 0/0   4216 Jul  8 13:52 2013 strlcpy.oselect.o:     file format elf64-x86-64
rwxrwSrwx 0/0  22056 Jul  8 13:52 2013 select.opoll.o:     file format elf64-x86-64
rwxrwSrwx 0/0  21832 Jul  8 13:52 2013 poll.oepoll.o:     file format elf64-x86-64
rwxrwSrwx 0/0  23560 Jul  8 13:52 2013 epoll.osignal.o:     file format elf64-x86-64
rwxrwSrwx 0/0  25888 Jul  8 13:52 2013 signal.o[root@Betty lib]#

作为对比,提供 ar 命令输出结果。

ar - create, modify, and extract from archives
===================
t  Display a table listing the contents of archive, or those of the files listed in member... that are present
   in  the  archive.  Normally only the member name is shown; if you also want to see the modes (permissions),  timestamp, owner, group, and size, you can request that by also specifying the v modifier.

If you do not specify a member, all files in the archive are listed.

If there is more than one file with the same name (say, fie) in an archive (say b.a), ar t  b.a  fie  lists
   only the first instance; to see them all, you must ask for a complete listing---in our example, ar t b.a.
===================

[root@Betty lib]# ar tv libevent.a
rwxrwSrwx 0/0  58760 Jul  8 13:52 2013 event.o
rwxrwSrwx 0/0  24168 Jul  8 13:52 2013 buffer.o
rwxrwSrwx 0/0  28656 Jul  8 13:52 2013 evbuffer.o
rwxrwSrwx 0/0  14392 Jul  8 13:52 2013 log.o
rwxrwSrwx 0/0  11920 Jul  8 13:52 2013 evutil.o
rwxrwSrwx 0/0  30368 Jul  8 13:52 2013 event_tagging.o
rwxrwSrwx 0/0 169040 Jul  8 13:52 2013 http.o
rwxrwSrwx 0/0 150064 Jul  8 13:52 2013 evdns.o
rwxrwSrwx 0/0  44912 Jul  8 13:52 2013 evrpc.o
rwxrwSrwx 0/0   4216 Jul  8 13:52 2013 strlcpy.o
rwxrwSrwx 0/0  22056 Jul  8 13:52 2013 select.o
rwxrwSrwx 0/0  21832 Jul  8 13:52 2013 poll.o
rwxrwSrwx 0/0  23560 Jul  8 13:52 2013 epoll.o
rwxrwSrwx 0/0  25888 Jul  8 13:52 2013 signal.o
[root@Betty lib]#

输出 .a 中全部 .o 文件中的符号表信息。

[root@Betty lib]# objdump -t libevent.a
In archive libevent.a:event.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 event.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l     F .text  0000000000000008 event_loopexit_cb
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000070 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.5067
0000000000000140 l     F .text  000000000000008b gettime
0000000000000008 l     O .bss   0000000000000004 use_monotonic
00000000000002d0 l     F .text  000000000000001d event_once_cb
0000000000000090 l     O .rodata        0000000000000019 __func__.4992
0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8
00000000000000e0 l     O .rodata        0000000000000020 eventops
0000000000000100 l     O .rodata        000000000000000f __func__.4892
0000000000000590 l     F .text  0000000000000357 event_queue_remove
0000000000000020 l     O .rodata        0000000000000013 __func__.5403
0000000000000013 l     O .rodata        000000000000000a __PRETTY_FUNCTION__.5306
00000000000000c0 l     O .rodata        0000000000000010 __PRETTY_FUNCTION__.4915
00000000000000a9 l     O .rodata        000000000000000d __func__.4961
0000000000000d30 l     F .text  0000000000000213 event_queue_insert
0000000000000000 l     O .rodata        0000000000000013 __func__.5437
000000000000003d l     O .rodata        000000000000000d __PRETTY_FUNCTION__.5336
0000000000000050 l     O .rodata        0000000000000015 __PRETTY_FUNCTION__.5026
0000000000000033 l     O .rodata        000000000000000a __PRETTY_FUNCTION__.5266
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000010 g     F .text  0000000000000015 event_base_loopbreak
0000000000000030 g     F .text  000000000000000c event_loopbreak
0000000000000000 g     O .bss   0000000000000008 current_base
0000000000000040 g     F .text  000000000000005a event_set
00000000000000a0 g     F .text  0000000000000026 event_base_set
00000000000000d0 g     F .text  000000000000001f event_priority_set
00000000000000f0 g     F .text  0000000000000006 event_get_version
0000000000000100 g     F .text  000000000000000e event_get_method
0000000000000110 g     F .text  000000000000002d event_base_get_method
0000000000000000         *UND*  0000000000000000 __assert_fail
0000000000000000         *UND*  0000000000000000 gettimeofday
0000000000000000         *UND*  0000000000000000 clock_gettime
00000000000001d0 g     F .text  00000000000000f5 event_pending
0000000000000000         *UND*  0000000000000000 free
00000000000002f0 g     F .text  0000000000000112 event_base_priority_init
0000000000000000         *UND*  0000000000000000 calloc
0000000000000000         *UND*  0000000000000000 malloc
0000000000000000         *UND*  0000000000000000 event_err
0000000000000410 g     F .text  000000000000000e event_priority_init
0000000000000420 g     F .text  0000000000000145 event_base_new
0000000000000000         *UND*  0000000000000000 epollops
0000000000000000         *UND*  0000000000000000 evutil_getenv
0000000000000000         *UND*  0000000000000000 event_msgx
0000000000000000         *UND*  0000000000000000 event_errx
0000000000000570 g     F .text  000000000000001a event_init
00000000000008f0 g     F .text  0000000000000106 event_del
0000000000000a00 g     F .text  0000000000000222 event_base_free
0000000000000c30 g     F .text  00000000000000f9 event_reinit
0000000000000000         *UND*  0000000000000000 realloc
0000000000000f50 g     F .text  0000000000000030 event_active
0000000000000f80 g     F .text  000000000000048e event_base_loop
0000000000000000         *UND*  0000000000000000 evsignal_base
0000000000001410 g     F .text  000000000000000e event_loop
0000000000001420 g     F .text  0000000000000007 event_dispatch
0000000000001430 g     F .text  0000000000000007 event_base_dispatch
0000000000001440 g     F .text  00000000000001f5 event_add
0000000000001640 g     F .text  000000000000013a event_base_once
0000000000001780 g     F .text  000000000000001d event_once
00000000000017a0 g     F .text  000000000000001e event_loopexit
00000000000017c0 g     F .text  000000000000001a event_base_loopexit
0000000000000000         *UND*  0000000000000000 pollops
0000000000000000         *UND*  0000000000000000 selectopsbuffer.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 buffer.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000190 l     F .text  0000000000000025 evbuffer_align
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 l     O .rodata        0000000000000012 __func__.4672
0000000000000020 l     O .rodata        0000000000000015 __PRETTY_FUNCTION__.4627
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  0000000000000056 evbuffer_drain
0000000000000060 g     F .text  0000000000000009 evbuffer_setcb
0000000000000070 g     F .text  0000000000000072 evbuffer_find
0000000000000000         *UND*  0000000000000000 memchr
00000000000000f0 g     F .text  000000000000004d evbuffer_write
0000000000000000         *UND*  0000000000000000 write
0000000000000140 g     F .text  0000000000000049 evbuffer_remove
0000000000000000         *UND*  0000000000000000 memcpy
0000000000000000         *UND*  0000000000000000 memmove
00000000000001c0 g     F .text  000000000000009c evbuffer_expand
0000000000000000         *UND*  0000000000000000 realloc
0000000000000260 g     F .text  000000000000012f evbuffer_read
0000000000000000         *UND*  0000000000000000 ioctl
0000000000000000         *UND*  0000000000000000 read
0000000000000390 g     F .text  00000000000000a0 evbuffer_add
0000000000000430 g     F .text  00000000000000e0 evbuffer_add_buffer
0000000000000510 g     F .text  0000000000000126 evbuffer_readline
0000000000000000         *UND*  0000000000000000 malloc
0000000000000000         *UND*  0000000000000000 stderr
0000000000000000         *UND*  0000000000000000 fprintf
0000000000000640 g     F .text  00000000000000f2 evbuffer_add_vprintf
0000000000000000         *UND*  0000000000000000 evutil_vsnprintf
0000000000000000         *UND*  0000000000000000 __assert_fail
0000000000000740 g     F .text  000000000000008e evbuffer_add_printf
00000000000007d0 g     F .text  000000000000001b evbuffer_free
0000000000000000         *UND*  0000000000000000 free
00000000000007f0 g     F .text  000000000000000f evbuffer_new
0000000000000000         *UND*  0000000000000000 callocevbuffer.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 evbuffer.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000080 l     F .text  000000000000002a bufferevent_add
0000000000000650 l     F .text  00000000000001d3 bufferevent_readcb
00000000000004c0 l     F .text  00000000000000fb bufferevent_writecb
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  000000000000001d bufferevent_setcb
0000000000000020 g     F .text  0000000000000051 bufferevent_base_set
0000000000000000         *UND*  0000000000000000 event_base_set
0000000000000000         *UND*  0000000000000000 event_add
00000000000000b0 g     F .text  00000000000000ad bufferevent_settimeout
0000000000000000         *UND*  0000000000000000 event_pending
0000000000000160 g     F .text  0000000000000077 bufferevent_enable
00000000000001e0 g     F .text  000000000000006f bufferevent_disable
0000000000000000         *UND*  0000000000000000 event_del
0000000000000250 g     F .text  0000000000000057 bufferevent_read
0000000000000000         *UND*  0000000000000000 memcpy
0000000000000000         *UND*  0000000000000000 evbuffer_drain
00000000000002b0 g     F .text  000000000000006a bufferevent_write
0000000000000000         *UND*  0000000000000000 evbuffer_add
0000000000000320 g     F .text  0000000000000041 bufferevent_write_buffer
0000000000000370 g     F .text  000000000000003a bufferevent_free
0000000000000000         *UND*  0000000000000000 evbuffer_free
0000000000000000         *UND*  0000000000000000 free
00000000000003b0 g     F .text  000000000000004e bufferevent_priority_set
0000000000000000         *UND*  0000000000000000 event_priority_set
0000000000000400 g     F .text  00000000000000b9 bufferevent_setfd
0000000000000000         *UND*  0000000000000000 event_set
0000000000000000         *UND*  0000000000000000 evbuffer_write
0000000000000000         *UND*  0000000000000000 __errno_location
00000000000005c0 g     F .text  0000000000000040 bufferevent_read_pressure_cb
0000000000000000         *UND*  0000000000000000 evbuffer_setcb
0000000000000600 g     F .text  0000000000000042 bufferevent_setwatermark
0000000000000000         *UND*  0000000000000000 evbuffer_read
0000000000000830 g     F .text  00000000000000fd bufferevent_new
0000000000000000         *UND*  0000000000000000 calloc
0000000000000000         *UND*  0000000000000000 evbuffer_newlog.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 log.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l     O .bss   0000000000000008 log_fn
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000010 l     F .text  0000000000000144 _warn_helper
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  0000000000000008 event_set_log_callback
0000000000000000         *UND*  0000000000000000 evutil_vsnprintf
0000000000000000         *UND*  0000000000000000 stderr
0000000000000000         *UND*  0000000000000000 fprintf
0000000000000000         *UND*  0000000000000000 strerror
0000000000000000         *UND*  0000000000000000 evutil_snprintf
0000000000000160 g     F .text  000000000000009d _event_debugx
0000000000000200 g     F .text  00000000000000a0 event_msgx
00000000000002a0 g     F .text  00000000000000a0 event_warnx
0000000000000340 g     F .text  000000000000009d event_errx
0000000000000000         *UND*  0000000000000000 exit
00000000000003e0 g     F .text  00000000000000ab event_warn
0000000000000000         *UND*  0000000000000000 __errno_location
0000000000000490 g     F .text  00000000000000b2 event_errevutil.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 evutil.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  0000000000000058 evutil_getenv
0000000000000000         *UND*  0000000000000000 getuid
0000000000000000         *UND*  0000000000000000 geteuid
0000000000000000         *UND*  0000000000000000 getgid
0000000000000000         *UND*  0000000000000000 getegid
0000000000000000         *UND*  0000000000000000 getenv
0000000000000060 g     F .text  000000000000002e evutil_vsnprintf
0000000000000000         *UND*  0000000000000000 vsnprintf
0000000000000090 g     F .text  0000000000000089 evutil_snprintf
0000000000000120 g     F .text  0000000000000007 evutil_strtoll
0000000000000000         *UND*  0000000000000000 __strtoll_internal
0000000000000130 g     F .text  000000000000002b evutil_make_socket_nonblocking
0000000000000000         *UND*  0000000000000000 fcntl
0000000000000000         *UND*  0000000000000000 event_warn
0000000000000160 g     F .text  0000000000000005 evutil_socketpair
0000000000000000         *UND*  0000000000000000 socketpairevent_tagging.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 event_tagging.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l     F .text  00000000000000b7 decode_int_internal
00000000000000e0 l     F .text  000000000000006f decode_tag_internal
0000000000000000 l     O .bss   0000000000000008 _buf
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 l     O .rodata        0000000000000017 __func__.4433
0000000000000017 l     O .rodata        000000000000000b __func__.4171
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000         *UND*  0000000000000000 evbuffer_drain
00000000000000c0 g     F .text  000000000000001d evtag_decode_int
0000000000000150 g     F .text  0000000000000049 evtag_consume
00000000000001a0 g     F .text  0000000000000093 evtag_payload_length
0000000000000240 g     F .text  00000000000000aa evtag_peek_length
00000000000002f0 g     F .text  0000000000000010 evtag_peek
0000000000000300 g     F .text  000000000000000a evtag_decode_tag
0000000000000310 g     F .text  00000000000000b0 evtag_unmarshal_int
0000000000000000         *UND*  0000000000000000 evbuffer_add
00000000000003c0 g     F .text  0000000000000094 evtag_unmarshal
0000000000000460 g     F .text  00000000000000a5 evtag_unmarshal_timeval
0000000000000510 g     F .text  00000000000000b3 evtag_unmarshal_string
0000000000000000         *UND*  0000000000000000 calloc
0000000000000000         *UND*  0000000000000000 evbuffer_remove
0000000000000000         *UND*  0000000000000000 event_err
00000000000005d0 g     F .text  000000000000008f evtag_unmarshal_fixed
0000000000000000         *UND*  0000000000000000 memcpy
0000000000000660 g     F .text  0000000000000068 evtag_encode_tag
00000000000006d0 g     F .text  00000000000000c7 encode_int
00000000000007a0 g     F .text  000000000000007a evtag_marshal_int
0000000000000000         *UND*  0000000000000000 evbuffer_add_buffer
0000000000000820 g     F .text  000000000000004c evtag_marshal
0000000000000870 g     F .text  0000000000000076 evtag_marshal_timeval
00000000000008f0 g     F .text  0000000000000046 evtag_marshal_string
0000000000000000         *UND*  0000000000000000 strlen
0000000000000940 g     F .text  000000000000003c evtag_init
0000000000000000         *UND*  0000000000000000 evbuffer_newhttp.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 http.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 l     F .text  000000000000003b html_replace
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000040 l     F .text  000000000000000d evhttp_connected
0000000000000143 l     O .rodata        000000000000000e __func__.7608
0000000000000130 l     O .rodata        0000000000000013 __func__.7651
0000000000000470 l     F .text  0000000000000068 evhttp_new_object
0000000000000160 l     O .rodata        0000000000000012 __func__.7552
00000000000004f0 l     F .text  00000000000000cc evhttp_add_header_internal
00000000000001c0 l     O .rodata        000000000000001b __func__.6878
00000000000005c0 l     F .text  0000000000000013 evhttp_connection_stop_detectclose
00000000000003f0 l     O .rodata        0000000000000016 __func__.7071
00000000000012b0 l     F .text  00000000000000a5 accept_socket
00000000000009f0 l     F .text  000000000000003c evhttp_add_event
0000000000000aa0 l     F .text  00000000000000a0 evhttp_associate_new_request_with_connection
0000000000003c30 l     F .text  000000000000013c evhttp_handle_request
0000000000000100 l     O .rodata        000000000000002d __func__.7717
0000000000000b40 l     F .text  00000000000000c1 make_addrinfo
0000000000000c10 l     F .text  0000000000000112 bind_socket_ai
0000000000000d30 l     F .text  000000000000007e bind_socket
0000000000000180 l     O .rodata        0000000000000013 __func__.7529
0000000000000ea0 l     F .text  00000000000000e0 evhttp_decode_uri_internal
00000000000001e0 l     O .rodata        0000000000000012 __func__.7338
0000000000000200 l     O .rodata        0000000000000100 uri_chars
0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8
00000000000003d0 l     O .rodata        000000000000001b __PRETTY_FUNCTION__.7090
0000000000000172 l     O .rodata        000000000000000e __func__.7512
0000000000000440 l     O .rodata        0000000000000021 __PRETTY_FUNCTION__.6283
0000000000000480 l     O .rodata        0000000000000024 __func__.6275
00000000000004c0 l     O .rodata        0000000000000024 __PRETTY_FUNCTION__.6271
0000000000001430 l     F .text  000000000000005b evhttp_write_connectioncb
0000000000000390 l     O .rodata        000000000000001a __PRETTY_FUNCTION__.6238
0000000000001550 l     F .text  0000000000000035 evhttp_is_connection_keepalive
0000000000001590 l     F .text  0000000000000071 evhttp_is_connection_close
0000000000001610 l     F .text  0000000000000104 evhttp_send_done
0000000000000310 l     O .rodata        0000000000000011 __PRETTY_FUNCTION__.7175
0000000000000410 l     O .rodata        000000000000001b __func__.6403
0000000000003290 l     F .text  000000000000014c evhttp_connectioncb
00000000000003b0 l     O .rodata        000000000000001a __PRETTY_FUNCTION__.7118
0000000000002890 l     F .text  0000000000000012 evhttp_connection_retry
00000000000028b0 l     F .text  0000000000000008 evhttp_detect_close_cb
0000000000000530 l     O .rodata        0000000000000017 __PRETTY_FUNCTION__.6088
0000000000000400 l     O .bss   0000000000000400 host.6053
0000000000000000 l     O .bss   0000000000000400 file.6054
0000000000000300 l     O .rodata        000000000000000c __PRETTY_FUNCTION__.7207
00000000000030c0 l     F .text  0000000000000088 evhttp_request_dispatch
0000000000000370 l     O .rodata        0000000000000018 __PRETTY_FUNCTION__.6289
0000000000000350 l     O .rodata        0000000000000014 __func__.7145
0000000000000330 l     O .rodata        0000000000000014 __PRETTY_FUNCTION__.7146
00000000000033e0 l     F .text  00000000000001a0 evhttp_connection_done
0000000000003580 l     F .text  0000000000000052 evhttp_read_trailer
00000000000035e0 l     F .text  00000000000001ed evhttp_read_body
00000000000037d0 l     F .text  000000000000014c evhttp_get_body
0000000000000510 l     O .rodata        0000000000000017 __func__.7000
0000000000003920 l     F .text  00000000000000f0 evhttp_read_header
00000000000004f0 l     O .rodata        0000000000000013 __func__.7050
00000000000004e4 l     O .rodata        000000000000000c __func__.6222
0000000000000550 l     O .rodata        0000000000000012 __func__.5873
00000000000001a0 l     O .rodata        0000000000000013 __func__.7356
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
00000000000001b4 l       .rodata.str1.1 0000000000000000 .LC36
00000000000001b6 l       .rodata.str1.1 0000000000000000 .LC37
00000000000001b1 l       .rodata.str1.1 0000000000000000 .LC35
00000000000001d6 l       .rodata.str1.1 0000000000000000 .LC42
000000000000033c l       .rodata.str1.1 0000000000000000 .LC72
000000000000033e l       .rodata.str1.1 0000000000000000 .LC73
0000000000000340 l       .rodata.str1.1 0000000000000000 .LC74
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000050 g     F .text  0000000000000007 evhttp_connection_set_timeout
0000000000000060 g     F .text  0000000000000007 evhttp_connection_set_retries
0000000000000070 g     F .text  000000000000000f evhttp_connection_set_closecb
0000000000000080 g     F .text  0000000000000015 evhttp_connection_get_peer
00000000000000a0 g     F .text  0000000000000004 evhttp_set_timeout
00000000000000b0 g     F .text  0000000000000009 evhttp_set_gencb
00000000000000c0 g     F .text  0000000000000008 evhttp_request_set_chunked_cb
00000000000000d0 g     F .text  0000000000000005 evhttp_request_uri
00000000000000e0 g     F .text  0000000000000067 evhttp_clear_headers
0000000000000000         *UND*  0000000000000000 free
0000000000000150 g     F .text  0000000000000047 evhttp_response_code
0000000000000000         *UND*  0000000000000000 __strdup
00000000000001a0 g     F .text  0000000000000077 evhttp_request_free
0000000000000000         *UND*  0000000000000000 evbuffer_free
0000000000000220 g     F .text  0000000000000074 evhttp_del_cb
0000000000000000         *UND*  0000000000000000 strcmp
00000000000002a0 g     F .text  00000000000000a8 evhttp_set_cb
0000000000000000         *UND*  0000000000000000 calloc
0000000000000000         *UND*  0000000000000000 event_err
0000000000000350 g     F .text  0000000000000116 evhttp_request_new
0000000000000000         *UND*  0000000000000000 evbuffer_new
0000000000000000         *UND*  0000000000000000 event_warn
00000000000004e0 g     F .text  000000000000000f evhttp_new
0000000000000000         *UND*  0000000000000000 event_del
00000000000005e0 g     F .text  000000000000014d evhttp_connection_free
0000000000000000         *UND*  0000000000000000 close
0000000000000730 g     F .text  00000000000000d0 evhttp_free
0000000000000800 g     F .text  0000000000000129 evhttp_connection_new
0000000000000930 g     F .text  00000000000000b3 evhttp_accept_socket
0000000000000000         *UND*  0000000000000000 malloc
0000000000000000         *UND*  0000000000000000 event_set
0000000000000000         *UND*  0000000000000000 event_base_set
0000000000000000         *UND*  0000000000000000 event_add
0000000000000a30 g     F .text  0000000000000070 evhttp_start_read
0000000000003a10 g     F .text  0000000000000127 evhttp_read
0000000000000000         *UND*  0000000000000000 evutil_snprintf
0000000000000000         *UND*  0000000000000000 getaddrinfo
0000000000000000         *UND*  0000000000000000 gai_strerror
0000000000000000         *UND*  0000000000000000 event_warnx
0000000000000000         *UND*  0000000000000000 socket
0000000000000000         *UND*  0000000000000000 evutil_make_socket_nonblocking
0000000000000000         *UND*  0000000000000000 fcntl
0000000000000000         *UND*  0000000000000000 setsockopt
0000000000000000         *UND*  0000000000000000 bind
0000000000000000         *UND*  0000000000000000 __errno_location
0000000000000000         *UND*  0000000000000000 freeaddrinfo
0000000000000db0 g     F .text  0000000000000084 evhttp_bind_socket
0000000000000000         *UND*  0000000000000000 listen
0000000000000e40 g     F .text  0000000000000057 evhttp_start
0000000000000000         *UND*  0000000000000000 __ctype_b_loc
0000000000000000         *UND*  0000000000000000 __strtol_internal
0000000000000f80 g     F .text  0000000000000065 evhttp_decode_uri
0000000000000000         *UND*  0000000000000000 strlen
0000000000000ff0 g     F .text  0000000000000096 evhttp_encode_uri
0000000000000000         *UND*  0000000000000000 evbuffer_add
0000000000000000         *UND*  0000000000000000 evbuffer_add_printf
0000000000001090 g     F .text  0000000000000056 evhttp_connection_set_base
0000000000000000         *UND*  0000000000000000 __assert_fail
00000000000010f0 g     F .text  00000000000001bb evhttp_get_request
0000000000000000         *UND*  0000000000000000 getnameinfo
0000000000000000         *UND*  0000000000000000 event_errx
0000000000000000         *UND*  0000000000000000 accept
0000000000001360 g     F .text  0000000000000033 evhttp_connection_set_local_port
00000000000013a0 g     F .text  000000000000008d evhttp_connection_set_local_address
0000000000001490 g     F .text  000000000000007c evhttp_remove_header
0000000000000000         *UND*  0000000000000000 strcasecmp
0000000000001510 g     F .text  000000000000003f evhttp_find_header
0000000000000000         *UND*  0000000000000000 strncasecmp
0000000000001720 g     F .text  000000000000007d evhttp_write_buffer
0000000000000000         *UND*  0000000000000000 event_pending
0000000000002a00 g     F .text  0000000000000087 evhttp_write
00000000000017a0 g     F .text  000000000000009c evhttp_send_reply_end
0000000000001840 g     F .text  000000000000007d evhttp_send_reply_chunk
0000000000000000         *UND*  0000000000000000 evbuffer_add_buffer
00000000000018c0 g     F .text  000000000000080a evhttp_parse_firstline
0000000000000000         *UND*  0000000000000000 evbuffer_readline
0000000000000000         *UND*  0000000000000000 __strsep_g
0000000000000000         *UND*  0000000000000000 strchr
00000000000020d0 g     F .text  0000000000000295 evhttp_add_header
0000000000000000         *UND*  0000000000000000 strpbrk
0000000000000000         *UND*  0000000000000000 strspn
0000000000002370 g     F .text  000000000000033a evhttp_parse_headers
0000000000000000         *UND*  0000000000000000 realloc
0000000000000000         *UND*  0000000000000000 memcpy
00000000000026b0 g     F .text  000000000000008b evhttp_connection_reset
0000000000000000         *UND*  0000000000000000 evbuffer_drain
0000000000002740 g     F .text  0000000000000141 evhttp_connection_connect
0000000000000000         *UND*  0000000000000000 connect
00000000000028c0 g     F .text  0000000000000137 evhttp_connection_fail
0000000000000000         *UND*  0000000000000000 evbuffer_write
0000000000002a90 g     F .text  000000000000011d evhttp_hostportfile
0000000000000000         *UND*  0000000000000000 _event_strlcpy
0000000000002bb0 g     F .text  0000000000000331 evhttp_make_header
0000000000000000         *UND*  0000000000000000 time
0000000000000000         *UND*  0000000000000000 gmtime_r
0000000000000000         *UND*  0000000000000000 strftime
0000000000002ef0 g     F .text  000000000000004c evhttp_send_reply_start
0000000000002f40 g     F .text  00000000000000e7 evhttp_send_page
0000000000003030 g     F .text  000000000000008b evhttp_send_error
0000000000003150 g     F .text  0000000000000135 evhttp_make_request
0000000000000000         *UND*  0000000000000000 getsockopt
0000000000000000         *UND*  0000000000000000 evutil_strtoll
0000000000000000         *UND*  0000000000000000 evbuffer_read
0000000000003b40 g     F .text  00000000000000e5 evhttp_htmlescape
0000000000000000         *UND*  0000000000000000 strcpy
0000000000000000         *UND*  0000000000000000 strncmp
0000000000003d70 g     F .text  0000000000000504 evhttp_parse_query
0000000000004280 g     F .text  0000000000000081 evhttp_send_replyevdns.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 evdns.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000030 l     O .bss   0000000000000008 evdns_log_fn
0000000000000760 l     F .text  0000000000000078 default_transaction_id_fn
0000000000000008 l     O .data  0000000000000008 trans_id_function
0000000000000030 l     F .text  0000000000000042 transaction_id_pick
0000000000000000 l     O .bss   0000000000000008 req_head
0000000000000018 l     O .bss   0000000000000008 server_head
00000000000000b0 l     F .text  000000000000002f evdns_request_insert
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000140 l     F .text  0000000000000048 search_state_decref
0000000000000020 l     O .bss   0000000000000004 global_good_nameservers
0000000000000008 l     O .bss   0000000000000008 req_waiting_head
0000000000000010 l     O .bss   0000000000000004 global_requests_waiting
0000000000000014 l     O .bss   0000000000000004 global_requests_inflight
00000000000002b0 l     F .text  0000000000000085 server_request_free_answers
0000000000000340 l     F .text  0000000000000034 dnslabel_clear
0000000000000380 l     F .text  0000000000000080 server_port_free
0000000000000390 l     O .rodata        0000000000000011 __PRETTY_FUNCTION__.6581
0000000000000400 l     F .text  0000000000000107 server_request_free
0000000000000550 l     F .text  0000000000000082 nameserver_pick
0000000000000270 l     O .rodata        0000000000000010 __PRETTY_FUNCTION__.5789
00000000000005e0 l     F .text  00000000000000bd reply_callback
0000000000000228 l     O .rodata        000000000000000f __PRETTY_FUNCTION__.5272
00000000000006a0 l     F .text  00000000000000bd _evdns_log
0000000000000040 l     O .bss   0000000000000200 buf.5140
0000000000000010 l     O .data  0000000000000004 clkid.5756
00000000000007e0 l     F .text  0000000000000012 request_trans_id_set
0000000000000800 l     F .text  0000000000000044 debug_ntoa
0000000000000240 l     O .bss   0000000000000020 buf.5100
0000000000000850 l     F .text  0000000000000056 nameserver_up
0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8
00000000000008b0 l     F .text  000000000000012b nameserver_failed
0000000000000280 l     O .rodata        0000000000000050 global_nameserver_timeouts
00000000000002d0 l     O .rodata        0000000000000012 __PRETTY_FUNCTION__.5178
00000000000009e0 l     F .text  00000000000000b0 nameserver_probe_callback
0000000000000a90 l     F .text  00000000000000a3 nameserver_write_waiting
0000000000002b20 l     F .text  0000000000000720 nameserver_ready_callback
0000000000000b40 l     F .text  0000000000000123 evdns_request_transmit
0000000000000020 l     O .data  0000000000000010 global_timeout
0000000000000c70 l     F .text  0000000000000038 request_submit
0000000000000cb0 l     F .text  0000000000000052 evdns_transmit
0000000000000d10 l     F .text  00000000000000d0 evdns_requests_pump_waiting_queue
0000000000000000 l     O .data  0000000000000004 global_max_requests_inflight
0000000000000240 l     O .rodata        0000000000000022 __PRETTY_FUNCTION__.5246
0000000000000df0 l     F .text  00000000000000ac request_finished
0000000000000028 l     O .bss   0000000000000008 global_search_state
0000000000001000 l     F .text  0000000000000087 evdns_request_timeout_callback
0000000000000030 l     O .data  0000000000000004 global_max_nameserver_timeout
0000000000000034 l     O .data  0000000000000004 global_max_retransmits
0000000000001090 l     F .text  00000000000000d4 server_port_flush
00000000000021e0 l     F .text  000000000000044c server_port_ready_callback
00000000000011b0 l     F .text  0000000000000176 name_parse
0000000000001330 l     F .text  000000000000001f string_num_dots
0000000000001350 l     F .text  00000000000000dd search_make_new
0000000000001430 l     F .text  0000000000000044 search_state_new
00000000000014b0 l     F .text  00000000000000ab search_postfix_add
0000000000001570 l     F .text  0000000000000021 search_postfix_clear
00000000000003f0 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.6139
00000000000003c0 l     O .rodata        0000000000000023 __PRETTY_FUNCTION__.6229
0000000000001a30 l     F .text  000000000000005b dnslabel_table_add
0000000000001a90 l     F .text  00000000000001bd dnsname_to_labels
0000000000002630 l     F .text  0000000000000264 request_new
00000000000028a0 l     F .text  000000000000027b reply_handle
00000000000002f0 l     O .rodata        0000000000000014 error_codes.5293
0000000000003240 l     F .text  0000000000000157 search_request_new
0000000000000370 l     O .rodata        0000000000000013 __PRETTY_FUNCTION__.7067
0000000000000330 l     O .rodata        000000000000001b __PRETTY_FUNCTION__.6929
0000000000000350 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.6891
00000000000036f0 l     F .text  000000000000006f nameserver_prod_callback
0000000000003760 l     F .text  0000000000000041 search_set_from_hostname
00000000000037b0 l     F .text  000000000000002d strtoint
00000000000037e0 l     F .text  0000000000000038 strtoint_clipped
0000000000003a00 l     F .text  00000000000001ce _evdns_nameserver_add_impl
0000000000003c80 l     F .text  0000000000000027 evdns_resolv_set_defaults
0000000000003cc0 l     F .text  00000000000003c0 resolv_conf_parse_line
0000000000000328 l     O .rodata        0000000000000008 delims.7219
0000000000000310 l     O .rodata        0000000000000018 __PRETTY_FUNCTION__.7464
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000365 l       .rodata.str1.1 0000000000000000 .LC65
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  0000000000000008 evdns_set_log_fn
0000000000000010 g     F .text  0000000000000014 evdns_set_transaction_id_fn
0000000000000080 g     F .text  0000000000000022 evdns_count_nameservers
00000000000000e0 g     F .text  0000000000000052 evdns_err_to_string
0000000000000000         *UND*  0000000000000000 free
0000000000000190 g     F .text  0000000000000118 evdns_clear_nameservers_and_suspend
0000000000000000         *UND*  0000000000000000 close
0000000000000000         *UND*  0000000000000000 event_del
0000000000000000         *UND*  0000000000000000 __assert_fail
0000000000000510 g     F .text  0000000000000017 evdns_server_request_drop
0000000000000530 g     F .text  000000000000001c evdns_close_server_port
0000000000000000         *UND*  0000000000000000 evutil_vsnprintf
0000000000000000         *UND*  0000000000000000 clock_gettime
0000000000000000         *UND*  0000000000000000 event_err
0000000000000000         *UND*  0000000000000000 evutil_snprintf
0000000000000000         *UND*  0000000000000000 event_add
0000000000000000         *UND*  0000000000000000 event_set
0000000000000000         *UND*  0000000000000000 sendto
0000000000000000         *UND*  0000000000000000 __errno_location
0000000000000000         *UND*  0000000000000000 strerror
0000000000000000         *UND*  0000000000000000 abort
0000000000000de0 g     F .text  0000000000000010 evdns_resume
0000000000000ea0 g     F .text  000000000000015a evdns_shutdown
0000000000001170 g     F .text  0000000000000031 evdns_server_request_get_requesting_addr
0000000000000000         *UND*  0000000000000000 memcpy
0000000000000000         *UND*  0000000000000000 strchr
0000000000000000         *UND*  0000000000000000 strlen
0000000000000000         *UND*  0000000000000000 malloc
0000000000001480 g     F .text  0000000000000027 evdns_search_ndots_set
0000000000001560 g     F .text  0000000000000005 evdns_search_add
00000000000015a0 g     F .text  0000000000000002 evdns_search_clear
00000000000015b0 g     F .text  00000000000000d4 evdns_add_server_port
0000000000000000         *UND*  0000000000000000 memset
0000000000001690 g     F .text  00000000000001d1 evdns_server_request_add_reply
0000000000000000         *UND*  0000000000000000 __strdup
0000000000001870 g     F .text  0000000000000035 evdns_server_request_add_cname_reply
00000000000018b0 g     F .text  00000000000000f6 evdns_server_request_add_ptr_reply
00000000000019b0 g     F .text  0000000000000034 evdns_server_request_add_aaaa_reply
00000000000019f0 g     F .text  0000000000000034 evdns_server_request_add_a_reply
0000000000000000         *UND*  0000000000000000 strcmp
0000000000001c50 g     F .text  0000000000000585 evdns_server_request_respond
0000000000000000         *UND*  0000000000000000 recvfrom
00000000000033a0 g     F .text  0000000000000109 evdns_resolve_reverse_ipv6
00000000000034b0 g     F .text  00000000000000d2 evdns_resolve_reverse
0000000000003590 g     F .text  00000000000000ad evdns_resolve_ipv6
0000000000003640 g     F .text  00000000000000ad evdns_resolve_ipv4
0000000000000000         *UND*  0000000000000000 gethostname
0000000000000000         *UND*  0000000000000000 __strtol_internal
0000000000003820 g     F .text  00000000000001da evdns_set_option
0000000000000000         *UND*  0000000000000000 socket
0000000000000000         *UND*  0000000000000000 evutil_make_socket_nonblocking
0000000000003bd0 g     F .text  00000000000000a4 evdns_nameserver_ip_add
0000000000000000         *UND*  0000000000000000 inet_aton
0000000000003cb0 g     F .text  000000000000000a evdns_nameserver_add
0000000000000000         *UND*  0000000000000000 __strtok_r
0000000000004080 g     F .text  00000000000001ec evdns_resolv_conf_parse
0000000000000000         *UND*  0000000000000000 open
0000000000000000         *UND*  0000000000000000 __fxstat
0000000000000000         *UND*  0000000000000000 read
0000000000004270 g     F .text  000000000000000f evdns_initevrpc.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 evrpc.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l     F .text  000000000000003a evrpc_process_hooks
0000000000000070 l     F .text  0000000000000019 evrpc_request_wrapper_free
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8
00000000000000b0 l     O .rodata        0000000000000012 __PRETTY_FUNCTION__.5154
0000000000000180 l     F .text  000000000000008b evrpc_construct_uri
0000000000000020 l     O .rodata        0000000000000014 __func__.5182
0000000000000210 l     F .text  0000000000000135 evrpc_schedule_request
0000000000000450 l     F .text  00000000000000d2 evrpc_reply_done
0000000000000350 l     F .text  0000000000000059 evrpc_pool_schedule
0000000000000530 l     F .text  0000000000000031 evrpc_request_timeout
0000000000000000 l     O .rodata        0000000000000013 __PRETTY_FUNCTION__.5398
0000000000000040 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.5439
0000000000000060 l     O .rodata        000000000000001a __PRETTY_FUNCTION__.5331
0000000000000080 l     O .rodata        0000000000000010 __PRETTY_FUNCTION__.5314
00000000000000c2 l     O .rodata        000000000000000f __PRETTY_FUNCTION__.5127
0000000000000960 l     F .text  00000000000000eb evrpc_request_cb
0000000000000090 l     O .rodata        0000000000000015 __PRETTY_FUNCTION__.5228
00000000000000d1 l     O .rodata        000000000000000b __PRETTY_FUNCTION__.5097
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000040 g     F .text  0000000000000022 evrpc_pool_set_timeout
0000000000000000         *UND*  0000000000000000 free
0000000000000090 g     F .text  000000000000005f evrpc_reqstate_free
00000000000000f0 g     F .text  0000000000000085 evrpc_remove_hook
0000000000000000         *UND*  0000000000000000 __assert_fail
0000000000000000         *UND*  0000000000000000 strlen
0000000000000000         *UND*  0000000000000000 malloc
0000000000000000         *UND*  0000000000000000 memcpy
0000000000000000         *UND*  0000000000000000 event_err
0000000000000000         *UND*  0000000000000000 evhttp_request_new
0000000000000000         *UND*  0000000000000000 event_add
0000000000000000         *UND*  0000000000000000 evhttp_make_request
00000000000003b0 g     F .text  000000000000009d evrpc_make_request
0000000000000000         *UND*  0000000000000000 event_set
0000000000000000         *UND*  0000000000000000 event_base_set
0000000000000000         *UND*  0000000000000000 event_del
0000000000000000         *UND*  0000000000000000 evhttp_connection_fail
0000000000000570 g     F .text  00000000000000c6 evrpc_pool_add_connection
0000000000000000         *UND*  0000000000000000 evhttp_connection_set_base
0000000000000640 g     F .text  00000000000000e6 evrpc_pool_free
0000000000000000         *UND*  0000000000000000 evhttp_connection_free
0000000000000730 g     F .text  0000000000000068 evrpc_pool_new
0000000000000000         *UND*  0000000000000000 calloc
00000000000007a0 g     F .text  00000000000000ab evrpc_add_hook
0000000000000850 g     F .text  000000000000010a evrpc_request_done
0000000000000000         *UND*  0000000000000000 evbuffer_new
0000000000000000         *UND*  0000000000000000 evhttp_find_header
0000000000000000         *UND*  0000000000000000 evhttp_send_reply
0000000000000000         *UND*  0000000000000000 evbuffer_free
0000000000000000         *UND*  0000000000000000 evhttp_send_error
0000000000000000         *UND*  0000000000000000 evhttp_add_header
0000000000000a50 g     F .text  00000000000000b1 evrpc_unregister_rpc
0000000000000000         *UND*  0000000000000000 strcmp
0000000000000000         *UND*  0000000000000000 evhttp_del_cb
0000000000000b10 g     F .text  00000000000000af evrpc_free
0000000000000bc0 g     F .text  000000000000009a evrpc_register_rpc
0000000000000000         *UND*  0000000000000000 evhttp_set_cb
0000000000000c60 g     F .text  0000000000000070 evrpc_init
0000000000000000         *UND*  0000000000000000 evtag_initstrlcpy.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 strlcpy.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  000000000000003a _event_strlcpyselect.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 select.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l     F .text  0000000000000074 select_dealloc
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000080 l     F .text  00000000000001c3 select_dispatch
0000000000000250 l     F .text  000000000000008f select_del
00000000000002e0 l     F .text  0000000000000180 select_resize
0000000000000460 l     F .text  000000000000011d select_add
0000000000000580 l     F .text  0000000000000062 select_init
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000         *UND*  0000000000000000 evsignal_dealloc
0000000000000000         *UND*  0000000000000000 free
0000000000000000         *UND*  0000000000000000 memcpy
0000000000000000         *UND*  0000000000000000 select
0000000000000000         *UND*  0000000000000000 random
0000000000000000         *UND*  0000000000000000 event_active
0000000000000000         *UND*  0000000000000000 evsignal_process
0000000000000000         *UND*  0000000000000000 __errno_location
0000000000000000         *UND*  0000000000000000 event_warn
0000000000000000         *UND*  0000000000000000 evsignal_del
0000000000000000         *UND*  0000000000000000 realloc
0000000000000000         *UND*  0000000000000000 memset
0000000000000000         *UND*  0000000000000000 evsignal_add
0000000000000000         *UND*  0000000000000000 evutil_getenv
0000000000000000         *UND*  0000000000000000 calloc
0000000000000000         *UND*  0000000000000000 evsignal_init
0000000000000000 g     O .rodata        0000000000000038 selectopspoll.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 poll.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l     F .text  0000000000000058 poll_dealloc
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000060 l     F .text  00000000000001ff poll_dispatch
0000000000000260 l     F .text  00000000000000e7 poll_del
0000000000000350 l     F .text  0000000000000218 poll_add
0000000000000570 l     F .text  0000000000000055 poll_init
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000         *UND*  0000000000000000 evsignal_dealloc
0000000000000000         *UND*  0000000000000000 free
0000000000000000         *UND*  0000000000000000 poll
0000000000000000         *UND*  0000000000000000 random
0000000000000000         *UND*  0000000000000000 evsignal_process
0000000000000000         *UND*  0000000000000000 event_active
0000000000000000         *UND*  0000000000000000 __errno_location
0000000000000000         *UND*  0000000000000000 event_warn
0000000000000000         *UND*  0000000000000000 evsignal_del
0000000000000000         *UND*  0000000000000000 realloc
0000000000000000         *UND*  0000000000000000 memset
0000000000000000         *UND*  0000000000000000 evsignal_add
0000000000000000         *UND*  0000000000000000 evutil_getenv
0000000000000000         *UND*  0000000000000000 calloc
0000000000000000         *UND*  0000000000000000 evsignal_init
0000000000000000 g     O .rodata        0000000000000038 pollopsepoll.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 epoll.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l     F .text  0000000000000058 epoll_dealloc
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000060 l     F .text  00000000000001a7 epoll_dispatch
0000000000000210 l     F .text  00000000000000d3 epoll_del
00000000000002f0 l     F .text  000000000000016c epoll_add
0000000000000460 l     F .text  000000000000011b epoll_init
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000         *UND*  0000000000000000 evsignal_dealloc
0000000000000000         *UND*  0000000000000000 free
0000000000000000         *UND*  0000000000000000 close
0000000000000000         *UND*  0000000000000000 epoll_wait
0000000000000000         *UND*  0000000000000000 event_active
0000000000000000         *UND*  0000000000000000 realloc
0000000000000000         *UND*  0000000000000000 evsignal_process
0000000000000000         *UND*  0000000000000000 __errno_location
0000000000000000         *UND*  0000000000000000 event_warn
0000000000000000         *UND*  0000000000000000 epoll_ctl
0000000000000000         *UND*  0000000000000000 evsignal_del
0000000000000000         *UND*  0000000000000000 memset
0000000000000000         *UND*  0000000000000000 evsignal_add
0000000000000000         *UND*  0000000000000000 evutil_getenv
0000000000000000         *UND*  0000000000000000 epoll_create
0000000000000000         *UND*  0000000000000000 fcntl
0000000000000000         *UND*  0000000000000000 calloc
0000000000000000         *UND*  0000000000000000 malloc
0000000000000000         *UND*  0000000000000000 evsignal_init
0000000000000000 g     O .rodata        0000000000000038 epollopssignal.o:     file format elf64-x86-64SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 signal.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8
0000000000000000 l     O .rodata        000000000000000d __PRETTY_FUNCTION__.5056
0000000000000250 l     F .text  00000000000000a5 evsignal_handler
0000000000000030 l     O .rodata        0000000000000011 __func__.5074
000000000000001a l     O .rodata        000000000000000d __func__.5016
000000000000000d l     O .rodata        000000000000000d __PRETTY_FUNCTION__.5017
00000000000006d0 l     F .text  000000000000003a evsignal_cb
0000000000000041 l     O .rodata        000000000000000e __func__.4954
0000000000000008 l     O .bss   0000000000000001 signals.4946
000000000000004f l     O .rodata        000000000000000c __func__.4948
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  0000000000000096 evsignal_process
0000000000000000         *UND*  0000000000000000 event_active
0000000000000000         *UND*  0000000000000000 event_del
00000000000000a0 g     F .text  0000000000000072 _evsignal_restore_handler
0000000000000000         *UND*  0000000000000000 sigaction
0000000000000000         *UND*  0000000000000000 free
0000000000000000         *UND*  0000000000000000 event_warn
0000000000000120 g     F .text  000000000000009e evsignal_dealloc
0000000000000000         *UND*  0000000000000000 close
00000000000001c0 g     F .text  000000000000008a evsignal_del
0000000000000000         *UND*  0000000000000000 __assert_fail
0000000000000000         *UND*  0000000000000000 __errno_location
0000000000000000 g     O .bss   0000000000000008 evsignal_base
0000000000000000         *UND*  0000000000000000 send
0000000000000300 g     F .text  0000000000000170 _evsignal_set_handler
0000000000000000         *UND*  0000000000000000 realloc
0000000000000000         *UND*  0000000000000000 memset
0000000000000000         *UND*  0000000000000000 malloc
0000000000000000         *UND*  0000000000000000 sigfillset
0000000000000470 g     F .text  000000000000010a evsignal_add
0000000000000000         *UND*  0000000000000000 event_errx
0000000000000000         *UND*  0000000000000000 event_add
0000000000000580 g     F .text  0000000000000143 evsignal_init
0000000000000000         *UND*  0000000000000000 evutil_socketpair
0000000000000000         *UND*  0000000000000000 fcntl
0000000000000000         *UND*  0000000000000000 evutil_make_socket_nonblocking
0000000000000000         *UND*  0000000000000000 event_set
0000000000000000         *UND*  0000000000000000 event_err
0000000000000000         *UND*  0000000000000000 recv[root@Betty lib]#

作为对比提供 nm 的输出结果。

nm - list symbols from object files
==================
-s
--print-armap
   When  listing  symbols  from  archive members, include the index: a mapping (stored in the archive by ar or ranlib) of which modules contain definitions for which names.
===================

[root@Betty lib]# nm -s libevent.a Archive index:
event_base_loopbreak in event.o
event_loopbreak in event.o
current_base in event.o
event_set in event.o
event_base_set in event.o
event_priority_set in event.o
event_get_version in event.o
event_get_method in event.o
event_base_get_method in event.o
event_pending in event.o
event_base_priority_init in event.o
event_priority_init in event.o
event_base_new in event.o
event_init in event.o
event_del in event.o
event_base_free in event.o
event_reinit in event.o
event_active in event.o
event_base_loop in event.o
event_loop in event.o
event_dispatch in event.o
event_base_dispatch in event.o
event_add in event.o
event_base_once in event.o
event_once in event.o
event_loopexit in event.o
event_base_loopexit in event.o
evbuffer_drain in buffer.o
evbuffer_setcb in buffer.o
evbuffer_find in buffer.o
evbuffer_write in buffer.o
evbuffer_remove in buffer.o
evbuffer_expand in buffer.o
evbuffer_read in buffer.o
evbuffer_add in buffer.o
evbuffer_add_buffer in buffer.o
evbuffer_readline in buffer.o
evbuffer_add_vprintf in buffer.o
evbuffer_add_printf in buffer.o
evbuffer_free in buffer.o
evbuffer_new in buffer.o
bufferevent_setcb in evbuffer.o
bufferevent_base_set in evbuffer.o
bufferevent_settimeout in evbuffer.o
bufferevent_enable in evbuffer.o
bufferevent_disable in evbuffer.o
bufferevent_read in evbuffer.o
bufferevent_write in evbuffer.o
bufferevent_write_buffer in evbuffer.o
bufferevent_free in evbuffer.o
bufferevent_priority_set in evbuffer.o
bufferevent_setfd in evbuffer.o
bufferevent_read_pressure_cb in evbuffer.o
bufferevent_setwatermark in evbuffer.o
bufferevent_new in evbuffer.o
event_set_log_callback in log.o
_event_debugx in log.o
event_msgx in log.o
event_warnx in log.o
event_errx in log.o
event_warn in log.o
event_err in log.o
evutil_getenv in evutil.o
evutil_vsnprintf in evutil.o
evutil_snprintf in evutil.o
evutil_strtoll in evutil.o
evutil_make_socket_nonblocking in evutil.o
evutil_socketpair in evutil.o
evtag_decode_int in event_tagging.o
evtag_consume in event_tagging.o
evtag_payload_length in event_tagging.o
evtag_peek_length in event_tagging.o
evtag_peek in event_tagging.o
evtag_decode_tag in event_tagging.o
evtag_unmarshal_int in event_tagging.o
evtag_unmarshal in event_tagging.o
evtag_unmarshal_timeval in event_tagging.o
evtag_unmarshal_string in event_tagging.o
evtag_unmarshal_fixed in event_tagging.o
evtag_encode_tag in event_tagging.o
encode_int in event_tagging.o
evtag_marshal_int in event_tagging.o
evtag_marshal in event_tagging.o
evtag_marshal_timeval in event_tagging.o
evtag_marshal_string in event_tagging.o
evtag_init in event_tagging.o
evhttp_connection_set_timeout in http.o
evhttp_connection_set_retries in http.o
evhttp_connection_set_closecb in http.o
evhttp_connection_get_peer in http.o
evhttp_set_timeout in http.o
evhttp_set_gencb in http.o
evhttp_request_set_chunked_cb in http.o
evhttp_request_uri in http.o
evhttp_clear_headers in http.o
evhttp_response_code in http.o
evhttp_request_free in http.o
evhttp_del_cb in http.o
evhttp_set_cb in http.o
evhttp_request_new in http.o
evhttp_new in http.o
evhttp_connection_free in http.o
evhttp_free in http.o
evhttp_connection_new in http.o
evhttp_accept_socket in http.o
evhttp_start_read in http.o
evhttp_read in http.o
evhttp_bind_socket in http.o
evhttp_start in http.o
evhttp_decode_uri in http.o
evhttp_encode_uri in http.o
evhttp_connection_set_base in http.o
evhttp_get_request in http.o
evhttp_connection_set_local_port in http.o
evhttp_connection_set_local_address in http.o
evhttp_remove_header in http.o
evhttp_find_header in http.o
evhttp_write_buffer in http.o
evhttp_write in http.o
evhttp_send_reply_end in http.o
evhttp_send_reply_chunk in http.o
evhttp_parse_firstline in http.o
evhttp_add_header in http.o
evhttp_parse_headers in http.o
evhttp_connection_reset in http.o
evhttp_connection_connect in http.o
evhttp_connection_fail in http.o
evhttp_hostportfile in http.o
evhttp_make_header in http.o
evhttp_send_reply_start in http.o
evhttp_send_page in http.o
evhttp_send_error in http.o
evhttp_make_request in http.o
evhttp_htmlescape in http.o
evhttp_parse_query in http.o
evhttp_send_reply in http.o
evdns_set_log_fn in evdns.o
evdns_set_transaction_id_fn in evdns.o
evdns_count_nameservers in evdns.o
evdns_err_to_string in evdns.o
evdns_clear_nameservers_and_suspend in evdns.o
evdns_server_request_drop in evdns.o
evdns_close_server_port in evdns.o
evdns_resume in evdns.o
evdns_shutdown in evdns.o
evdns_server_request_get_requesting_addr in evdns.o
evdns_search_ndots_set in evdns.o
evdns_search_add in evdns.o
evdns_search_clear in evdns.o
evdns_add_server_port in evdns.o
evdns_server_request_add_reply in evdns.o
evdns_server_request_add_cname_reply in evdns.o
evdns_server_request_add_ptr_reply in evdns.o
evdns_server_request_add_aaaa_reply in evdns.o
evdns_server_request_add_a_reply in evdns.o
evdns_server_request_respond in evdns.o
evdns_resolve_reverse_ipv6 in evdns.o
evdns_resolve_reverse in evdns.o
evdns_resolve_ipv6 in evdns.o
evdns_resolve_ipv4 in evdns.o
evdns_set_option in evdns.o
evdns_nameserver_ip_add in evdns.o
evdns_nameserver_add in evdns.o
evdns_resolv_conf_parse in evdns.o
evdns_init in evdns.o
evrpc_pool_set_timeout in evrpc.o
evrpc_reqstate_free in evrpc.o
evrpc_remove_hook in evrpc.o
evrpc_make_request in evrpc.o
evrpc_pool_add_connection in evrpc.o
evrpc_pool_free in evrpc.o
evrpc_pool_new in evrpc.o
evrpc_add_hook in evrpc.o
evrpc_request_done in evrpc.o
evrpc_unregister_rpc in evrpc.o
evrpc_free in evrpc.o
evrpc_register_rpc in evrpc.o
evrpc_init in evrpc.o
_event_strlcpy in strlcpy.o
selectops in select.o
pollops in poll.o
epollops in epoll.o
evsignal_process in signal.o
_evsignal_restore_handler in signal.o
evsignal_dealloc in signal.o
evsignal_del in signal.o
evsignal_base in signal.o
_evsignal_set_handler in signal.o
evsignal_add in signal.o
evsignal_init in signal.oevent.o:
00000000000000c0 r __PRETTY_FUNCTION__.4915
0000000000000050 r __PRETTY_FUNCTION__.5026
0000000000000070 r __PRETTY_FUNCTION__.5067
0000000000000033 r __PRETTY_FUNCTION__.5266
0000000000000013 r __PRETTY_FUNCTION__.5306
000000000000003d r __PRETTY_FUNCTION__.5336U __assert_fail
0000000000000100 r __func__.4892
00000000000000a9 r __func__.4961
0000000000000090 r __func__.4992
0000000000000020 r __func__.5403
0000000000000000 r __func__.5437U callocU clock_gettime
0000000000000000 B current_baseU epollops
0000000000000f50 T event_active
0000000000001440 T event_add
0000000000001430 T event_base_dispatch
0000000000000a00 T event_base_free
0000000000000110 T event_base_get_method
0000000000000f80 T event_base_loop
0000000000000010 T event_base_loopbreak
00000000000017c0 T event_base_loopexit
0000000000000420 T event_base_new
0000000000001640 T event_base_once
00000000000002f0 T event_base_priority_init
00000000000000a0 T event_base_set
00000000000008f0 T event_del
0000000000001420 T event_dispatchU event_errU event_errx
0000000000000100 T event_get_method
00000000000000f0 T event_get_version
0000000000000570 T event_init
0000000000001410 T event_loop
0000000000000030 T event_loopbreak
00000000000017a0 T event_loopexit
0000000000000000 t event_loopexit_cbU event_msgx
0000000000001780 T event_once
00000000000002d0 t event_once_cb
00000000000001d0 T event_pending
0000000000000410 T event_priority_init
00000000000000d0 T event_priority_set
0000000000000d30 t event_queue_insert
0000000000000590 t event_queue_remove
0000000000000c30 T event_reinit
0000000000000040 T event_set
00000000000000e0 r eventopsU evsignal_baseU evutil_getenvU free
0000000000000140 t gettimeU gettimeofdayU mallocU pollopsU reallocU selectops
0000000000000008 b use_monotonicbuffer.o:
0000000000000020 r __PRETTY_FUNCTION__.4627U __assert_fail
0000000000000000 r __func__.4672U calloc
0000000000000390 T evbuffer_add
0000000000000430 T evbuffer_add_buffer
0000000000000740 T evbuffer_add_printf
0000000000000640 T evbuffer_add_vprintf
0000000000000190 t evbuffer_align
0000000000000000 T evbuffer_drain
00000000000001c0 T evbuffer_expand
0000000000000070 T evbuffer_find
00000000000007d0 T evbuffer_free
00000000000007f0 T evbuffer_new
0000000000000260 T evbuffer_read
0000000000000510 T evbuffer_readline
0000000000000140 T evbuffer_remove
0000000000000060 T evbuffer_setcb
00000000000000f0 T evbuffer_writeU evutil_vsnprintfU fprintfU freeU ioctlU mallocU memchrU memcpyU memmoveU readU reallocU stderrU writeevbuffer.o:U __errno_location
0000000000000080 t bufferevent_add
0000000000000020 T bufferevent_base_set
00000000000001e0 T bufferevent_disable
0000000000000160 T bufferevent_enable
0000000000000370 T bufferevent_free
0000000000000830 T bufferevent_new
00000000000003b0 T bufferevent_priority_set
0000000000000250 T bufferevent_read
00000000000005c0 T bufferevent_read_pressure_cb
0000000000000650 t bufferevent_readcb
0000000000000000 T bufferevent_setcb
0000000000000400 T bufferevent_setfd
00000000000000b0 T bufferevent_settimeout
0000000000000600 T bufferevent_setwatermark
00000000000002b0 T bufferevent_write
0000000000000320 T bufferevent_write_buffer
00000000000004c0 t bufferevent_writecbU callocU evbuffer_addU evbuffer_drainU evbuffer_freeU evbuffer_newU evbuffer_readU evbuffer_setcbU evbuffer_writeU event_addU event_base_setU event_delU event_pendingU event_priority_setU event_setU freeU memcpylog.o:U __errno_location
0000000000000160 T _event_debugx
0000000000000010 t _warn_helper
0000000000000490 T event_err
0000000000000340 T event_errx
0000000000000200 T event_msgx
0000000000000000 T event_set_log_callback
00000000000003e0 T event_warn
00000000000002a0 T event_warnxU evutil_snprintfU evutil_vsnprintfU exitU fprintf
0000000000000000 b log_fnU stderrU strerrorevutil.o:U __strtoll_internalU event_warn
0000000000000000 T evutil_getenv
0000000000000130 T evutil_make_socket_nonblocking
0000000000000090 T evutil_snprintf
0000000000000160 T evutil_socketpair
0000000000000120 T evutil_strtoll
0000000000000060 T evutil_vsnprintfU fcntlU getegidU getenvU geteuidU getgidU getuidU socketpairU vsnprintfevent_tagging.o:
0000000000000017 r __func__.4171
0000000000000000 r __func__.4433
0000000000000000 b _bufU calloc
0000000000000000 t decode_int_internal
00000000000000e0 t decode_tag_internal
00000000000006d0 T encode_intU evbuffer_addU evbuffer_add_bufferU evbuffer_drainU evbuffer_newU evbuffer_removeU event_err
0000000000000150 T evtag_consume
00000000000000c0 T evtag_decode_int
0000000000000300 T evtag_decode_tag
0000000000000660 T evtag_encode_tag
0000000000000940 T evtag_init
0000000000000820 T evtag_marshal
00000000000007a0 T evtag_marshal_int
00000000000008f0 T evtag_marshal_string
0000000000000870 T evtag_marshal_timeval
00000000000001a0 T evtag_payload_length
00000000000002f0 T evtag_peek
0000000000000240 T evtag_peek_length
00000000000003c0 T evtag_unmarshal
00000000000005d0 T evtag_unmarshal_fixed
0000000000000310 T evtag_unmarshal_int
0000000000000510 T evtag_unmarshal_string
0000000000000460 T evtag_unmarshal_timevalU memcpyU strlenhttp.o:
00000000000001b1 r .LC35
00000000000001b4 r .LC36
00000000000001b6 r .LC37
00000000000001d6 r .LC42
000000000000033c r .LC72
000000000000033e r .LC73
0000000000000340 r .LC74
0000000000000530 r __PRETTY_FUNCTION__.6088
0000000000000390 r __PRETTY_FUNCTION__.6238
00000000000004c0 r __PRETTY_FUNCTION__.6271
0000000000000440 r __PRETTY_FUNCTION__.6283
0000000000000370 r __PRETTY_FUNCTION__.6289
00000000000003d0 r __PRETTY_FUNCTION__.7090
00000000000003b0 r __PRETTY_FUNCTION__.7118
0000000000000330 r __PRETTY_FUNCTION__.7146
0000000000000310 r __PRETTY_FUNCTION__.7175
0000000000000300 r __PRETTY_FUNCTION__.7207U __assert_failU __ctype_b_locU __errno_location
0000000000000550 r __func__.5873
00000000000004e4 r __func__.6222
0000000000000480 r __func__.6275
0000000000000410 r __func__.6403
00000000000001c0 r __func__.6878
0000000000000510 r __func__.7000
00000000000004f0 r __func__.7050
00000000000003f0 r __func__.7071
0000000000000350 r __func__.7145
00000000000001e0 r __func__.7338
00000000000001a0 r __func__.7356
0000000000000172 r __func__.7512
0000000000000180 r __func__.7529
0000000000000160 r __func__.7552
0000000000000143 r __func__.7608
0000000000000130 r __func__.7651
0000000000000100 r __func__.7717U __strdupU __strsep_gU __strtol_internalU _event_strlcpyU accept
00000000000012b0 t accept_socketU bind
0000000000000d30 t bind_socket
0000000000000c10 t bind_socket_aiU callocU closeU connectU evbuffer_addU evbuffer_add_bufferU evbuffer_add_printfU evbuffer_drainU evbuffer_freeU evbuffer_newU evbuffer_readU evbuffer_readlineU evbuffer_writeU event_addU event_base_setU event_delU event_errU event_errxU event_pendingU event_setU event_warnU event_warnx
0000000000000930 T evhttp_accept_socket
00000000000009f0 t evhttp_add_event
00000000000020d0 T evhttp_add_header
00000000000004f0 t evhttp_add_header_internal
0000000000000aa0 t evhttp_associate_new_request_with_connection
0000000000000db0 T evhttp_bind_socket
00000000000000e0 T evhttp_clear_headers
0000000000000040 t evhttp_connected
0000000000002740 T evhttp_connection_connect
00000000000033e0 t evhttp_connection_done
00000000000028c0 T evhttp_connection_fail
00000000000005e0 T evhttp_connection_free
0000000000000080 T evhttp_connection_get_peer
0000000000000800 T evhttp_connection_new
00000000000026b0 T evhttp_connection_reset
0000000000002890 t evhttp_connection_retry
0000000000001090 T evhttp_connection_set_base
0000000000000070 T evhttp_connection_set_closecb
00000000000013a0 T evhttp_connection_set_local_address
0000000000001360 T evhttp_connection_set_local_port
0000000000000060 T evhttp_connection_set_retries
0000000000000050 T evhttp_connection_set_timeout
00000000000005c0 t evhttp_connection_stop_detectclose
0000000000003290 t evhttp_connectioncb
0000000000000f80 T evhttp_decode_uri
0000000000000ea0 t evhttp_decode_uri_internal
0000000000000220 T evhttp_del_cb
00000000000028b0 t evhttp_detect_close_cb
0000000000000ff0 T evhttp_encode_uri
0000000000001510 T evhttp_find_header
0000000000000730 T evhttp_free
00000000000037d0 t evhttp_get_body
00000000000010f0 T evhttp_get_request
0000000000003c30 t evhttp_handle_request
0000000000002a90 T evhttp_hostportfile
0000000000003b40 T evhttp_htmlescape
0000000000001590 t evhttp_is_connection_close
0000000000001550 t evhttp_is_connection_keepalive
0000000000002bb0 T evhttp_make_header
0000000000003150 T evhttp_make_request
00000000000004e0 T evhttp_new
0000000000000470 t evhttp_new_object
00000000000018c0 T evhttp_parse_firstline
0000000000002370 T evhttp_parse_headers
0000000000003d70 T evhttp_parse_query
0000000000003a10 T evhttp_read
00000000000035e0 t evhttp_read_body
0000000000003920 t evhttp_read_header
0000000000003580 t evhttp_read_trailer
0000000000001490 T evhttp_remove_header
00000000000030c0 t evhttp_request_dispatch
00000000000001a0 T evhttp_request_free
0000000000000350 T evhttp_request_new
00000000000000c0 T evhttp_request_set_chunked_cb
00000000000000d0 T evhttp_request_uri
0000000000000150 T evhttp_response_code
0000000000001610 t evhttp_send_done
0000000000003030 T evhttp_send_error
0000000000002f40 T evhttp_send_page
0000000000004280 T evhttp_send_reply
0000000000001840 T evhttp_send_reply_chunk
00000000000017a0 T evhttp_send_reply_end
0000000000002ef0 T evhttp_send_reply_start
00000000000002a0 T evhttp_set_cb
00000000000000b0 T evhttp_set_gencb
00000000000000a0 T evhttp_set_timeout
0000000000000e40 T evhttp_start
0000000000000a30 T evhttp_start_read
0000000000002a00 T evhttp_write
0000000000001720 T evhttp_write_buffer
0000000000001430 t evhttp_write_connectioncbU evutil_make_socket_nonblockingU evutil_snprintfU evutil_strtollU fcntl
0000000000000000 b file.6054U freeU freeaddrinfoU gai_strerrorU getaddrinfoU getnameinfoU getsockoptU gmtime_r
0000000000000400 b host.6053
0000000000000000 t html_replaceU listen
0000000000000b40 t make_addrinfoU mallocU memcpyU reallocU setsockoptU socketU strcasecmpU strchrU strcmpU strcpyU strftimeU strlenU strncasecmpU strncmpU strpbrkU strspnU time
0000000000000200 r uri_charsevdns.o:
0000000000000365 r .LC65
00000000000002d0 r __PRETTY_FUNCTION__.5178
0000000000000240 r __PRETTY_FUNCTION__.5246
0000000000000228 r __PRETTY_FUNCTION__.5272
0000000000000270 r __PRETTY_FUNCTION__.5789
00000000000003f0 r __PRETTY_FUNCTION__.6139
00000000000003c0 r __PRETTY_FUNCTION__.6229
0000000000000390 r __PRETTY_FUNCTION__.6581
0000000000000350 r __PRETTY_FUNCTION__.6891
0000000000000330 r __PRETTY_FUNCTION__.6929
0000000000000370 r __PRETTY_FUNCTION__.7067
0000000000000310 r __PRETTY_FUNCTION__.7464U __assert_failU __errno_locationU __fxstatU __strdupU __strtok_rU __strtol_internal
00000000000006a0 t _evdns_log
0000000000003a00 t _evdns_nameserver_add_implU abort
0000000000000240 b buf.5100
0000000000000040 b buf.5140
0000000000000010 d clkid.5756U clock_gettimeU close
0000000000000800 t debug_ntoa
0000000000000760 t default_transaction_id_fn
0000000000000328 r delims.7219
0000000000000340 t dnslabel_clear
0000000000001a30 t dnslabel_table_add
0000000000001a90 t dnsname_to_labels
00000000000002f0 r error_codes.5293
00000000000015b0 T evdns_add_server_port
0000000000000190 T evdns_clear_nameservers_and_suspend
0000000000000530 T evdns_close_server_port
0000000000000080 T evdns_count_nameservers
00000000000000e0 T evdns_err_to_string
0000000000004270 T evdns_init
0000000000000030 b evdns_log_fn
0000000000003cb0 T evdns_nameserver_add
0000000000003bd0 T evdns_nameserver_ip_add
00000000000000b0 t evdns_request_insert
0000000000001000 t evdns_request_timeout_callback
0000000000000b40 t evdns_request_transmit
0000000000000d10 t evdns_requests_pump_waiting_queue
0000000000004080 T evdns_resolv_conf_parse
0000000000003c80 t evdns_resolv_set_defaults
0000000000003640 T evdns_resolve_ipv4
0000000000003590 T evdns_resolve_ipv6
00000000000034b0 T evdns_resolve_reverse
00000000000033a0 T evdns_resolve_reverse_ipv6
0000000000000de0 T evdns_resume
0000000000001560 T evdns_search_add
00000000000015a0 T evdns_search_clear
0000000000001480 T evdns_search_ndots_set
00000000000019f0 T evdns_server_request_add_a_reply
00000000000019b0 T evdns_server_request_add_aaaa_reply
0000000000001870 T evdns_server_request_add_cname_reply
00000000000018b0 T evdns_server_request_add_ptr_reply
0000000000001690 T evdns_server_request_add_reply
0000000000000510 T evdns_server_request_drop
0000000000001170 T evdns_server_request_get_requesting_addr
0000000000001c50 T evdns_server_request_respond
0000000000000000 T evdns_set_log_fn
0000000000003820 T evdns_set_option
0000000000000010 T evdns_set_transaction_id_fn
0000000000000ea0 T evdns_shutdown
0000000000000cb0 t evdns_transmitU event_addU event_delU event_errU event_setU evutil_make_socket_nonblockingU evutil_snprintfU evutil_vsnprintfU freeU gethostname
0000000000000020 b global_good_nameservers
0000000000000030 d global_max_nameserver_timeout
0000000000000000 d global_max_requests_inflight
0000000000000034 d global_max_retransmits
0000000000000280 r global_nameserver_timeouts
0000000000000014 b global_requests_inflight
0000000000000010 b global_requests_waiting
0000000000000028 b global_search_state
0000000000000020 d global_timeoutU inet_atonU mallocU memcpyU memset
00000000000011b0 t name_parse
00000000000008b0 t nameserver_failed
0000000000000550 t nameserver_pick
00000000000009e0 t nameserver_probe_callback
00000000000036f0 t nameserver_prod_callback
0000000000002b20 t nameserver_ready_callback
0000000000000850 t nameserver_up
0000000000000a90 t nameserver_write_waitingU openU readU recvfrom
00000000000005e0 t reply_callback
00000000000028a0 t reply_handle
0000000000000000 b req_head
0000000000000008 b req_waiting_head
0000000000000df0 t request_finished
0000000000002630 t request_new
0000000000000c70 t request_submit
00000000000007e0 t request_trans_id_set
0000000000003cc0 t resolv_conf_parse_line
0000000000001350 t search_make_new
00000000000014b0 t search_postfix_add
0000000000001570 t search_postfix_clear
0000000000003240 t search_request_new
0000000000003760 t search_set_from_hostname
0000000000000140 t search_state_decref
0000000000001430 t search_state_newU sendto
0000000000000018 b server_head
0000000000001090 t server_port_flush
0000000000000380 t server_port_free
00000000000021e0 t server_port_ready_callback
0000000000000400 t server_request_free
00000000000002b0 t server_request_free_answersU socketU strchrU strcmpU strerror
0000000000001330 t string_num_dotsU strlen
00000000000037b0 t strtoint
00000000000037e0 t strtoint_clipped
0000000000000008 d trans_id_function
0000000000000030 t transaction_id_pickevrpc.o:
00000000000000d1 r __PRETTY_FUNCTION__.5097
00000000000000c2 r __PRETTY_FUNCTION__.5127
00000000000000b0 r __PRETTY_FUNCTION__.5154
0000000000000090 r __PRETTY_FUNCTION__.5228
0000000000000080 r __PRETTY_FUNCTION__.5314
0000000000000060 r __PRETTY_FUNCTION__.5331
0000000000000000 r __PRETTY_FUNCTION__.5398
0000000000000040 r __PRETTY_FUNCTION__.5439U __assert_fail
0000000000000020 r __func__.5182U callocU evbuffer_freeU evbuffer_newU event_addU event_base_setU event_delU event_errU event_setU evhttp_add_headerU evhttp_connection_failU evhttp_connection_freeU evhttp_connection_set_baseU evhttp_del_cbU evhttp_find_headerU evhttp_make_requestU evhttp_request_newU evhttp_send_errorU evhttp_send_replyU evhttp_set_cb
00000000000007a0 T evrpc_add_hook
0000000000000180 t evrpc_construct_uri
0000000000000b10 T evrpc_free
0000000000000c60 T evrpc_init
00000000000003b0 T evrpc_make_request
0000000000000570 T evrpc_pool_add_connection
0000000000000640 T evrpc_pool_free
0000000000000730 T evrpc_pool_new
0000000000000350 t evrpc_pool_schedule
0000000000000040 T evrpc_pool_set_timeout
0000000000000000 t evrpc_process_hooks
0000000000000bc0 T evrpc_register_rpc
00000000000000f0 T evrpc_remove_hook
0000000000000450 t evrpc_reply_done
0000000000000090 T evrpc_reqstate_free
0000000000000960 t evrpc_request_cb
0000000000000850 T evrpc_request_done
0000000000000530 t evrpc_request_timeout
0000000000000070 t evrpc_request_wrapper_free
0000000000000210 t evrpc_schedule_request
0000000000000a50 T evrpc_unregister_rpcU evtag_initU freeU mallocU memcpyU strcmpU strlenstrlcpy.o:
0000000000000000 T _event_strlcpyselect.o:U __errno_locationU callocU event_activeU event_warnU evsignal_addU evsignal_deallocU evsignal_delU evsignal_initU evsignal_processU evutil_getenvU freeU memcpyU memsetU randomU reallocU select
0000000000000460 t select_add
0000000000000000 t select_dealloc
0000000000000250 t select_del
0000000000000080 t select_dispatch
0000000000000580 t select_init
00000000000002e0 t select_resize
0000000000000000 R selectopspoll.o:U __errno_locationU callocU event_activeU event_warnU evsignal_addU evsignal_deallocU evsignal_delU evsignal_initU evsignal_processU evutil_getenvU freeU memsetU poll
0000000000000350 t poll_add
0000000000000000 t poll_dealloc
0000000000000260 t poll_del
0000000000000060 t poll_dispatch
0000000000000570 t poll_init
0000000000000000 R pollopsU randomU reallocepoll.o:U __errno_locationU callocU close
00000000000002f0 t epoll_addU epoll_createU epoll_ctl
0000000000000000 t epoll_dealloc
0000000000000210 t epoll_del
0000000000000060 t epoll_dispatch
0000000000000460 t epoll_initU epoll_wait
0000000000000000 R epollopsU event_activeU event_warnU evsignal_addU evsignal_deallocU evsignal_delU evsignal_initU evsignal_processU evutil_getenvU fcntlU freeU mallocU memsetU reallocsignal.o:
000000000000000d r __PRETTY_FUNCTION__.5017
0000000000000000 r __PRETTY_FUNCTION__.5056U __assert_failU __errno_location
000000000000004f r __func__.4948
0000000000000041 r __func__.4954
000000000000001a r __func__.5016
0000000000000030 r __func__.5074
00000000000000a0 T _evsignal_restore_handler
0000000000000300 T _evsignal_set_handlerU closeU event_activeU event_addU event_delU event_errU event_errxU event_setU event_warn
0000000000000470 T evsignal_add
0000000000000000 B evsignal_base
00000000000006d0 t evsignal_cb
0000000000000120 T evsignal_dealloc
00000000000001c0 T evsignal_del
0000000000000250 t evsignal_handler
0000000000000580 T evsignal_init
0000000000000000 T evsignal_processU evutil_make_socket_nonblockingU evutil_socketpairU fcntlU freeU mallocU memsetU reallocU recvU sendU sigactionU sigfillset
0000000000000008 b signals.4946
[root@Betty lib]#

示例二:以自定义文件  objtest.c 进行演示。

示例程序如下 。

[root@Betty Cpp]# vi objtest.c
/*
g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c
*/
#include <unistd.h>
int main ( int argc, char * argv[] )
{execl( "/bin/sh", "/bin/sh", "-i", 0 );return 0;
}

执行编译。

[root@Betty Cpp]# g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
objtest.c: In function 'int main(int, char**)':
objtest.c:7: warning: missing sentinel in function call
[root@Betty Cpp]#
[root@Betty Cpp]# ll
total 16
-rwxr-xr-x 1 root root 8587 Jul 18 11:04 objtest
-rw-r--r-- 1 root root  190 Jul 18 10:55 objtest.c
[root@Betty Cpp]#

虽然能够编译出来东东,但是出现了若干警告信息。

cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++

是因为 -Wstrict-prototypes 是 C only 的,所以 g++ 应该改为 gcc 。
参考:man gcc

objtest.c:7: warning: missing sentinel in function call

是因为在调用 execl( "/bin/sh", "/bin/sh", "-i", 0 ); 的时候,最后一个参数的格式不符合要求,应该改为 (char *)0 或者 (char *)NULL 。
参考:man execl

另外 -Wall 其实是隐含包含了 -Wunused 的,所以可以将 -Wunused 去掉。

完成修改后不会输出仍和警告信息。

[root@Betty Cpp]# gcc -g -Wstrict-prototypes -Wall -o objtest objtest.c
[root@Betty Cpp]#

使用 objdump 输出相关信息。

[root@Betty Cpp]#
[root@Betty Cpp]# objdump -j .text -Sl objtest       objtest:     file format elf64-x86-64Disassembly of section .text:00000000004004a0 <_start>:
_start():4004a0:       31 ed                   xor    %ebp,%ebp4004a2:       49 89 d1                mov    %rdx,%r94004a5:       5e                      pop    %rsi4004a6:       48 89 e2                mov    %rsp,%rdx4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp4004ad:       50                      push   %rax4004ae:       54                      push   %rsp4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r84004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx4004bd:       48 c7 c7 78 05 40 00    mov    $0x400578,%rdi4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>4004c9:       f4                      hlt    4004ca:       90                      nop    4004cb:       90                      nop    00000000004004cc <call_gmon_start>:
call_gmon_start():4004cc:       48 83 ec 08             sub    $0x8,%rsp4004d0:       48 8b 05 89 04 20 00    mov    2098313(%rip),%rax        # 600960 <_DYNAMIC+0x1c0>4004d7:       48 85 c0                test   %rax,%rax4004da:       74 02                   je     4004de <call_gmon_start+0x12>4004dc:       ff d0                   callq  *%rax4004de:       48 83 c4 08             add    $0x8,%rsp4004e2:       c3                      retq   4004e3:       90                      nop    4004e4:       90                      nop    4004e5:       90                      nop    4004e6:       90                      nop    4004e7:       90                      nop    4004e8:       90                      nop    4004e9:       90                      nop    4004ea:       90                      nop    4004eb:       90                      nop    4004ec:       90                      nop    4004ed:       90                      nop    4004ee:       90                      nop    4004ef:       90                      nop    00000000004004f0 <__do_global_dtors_aux>:
__do_global_dtors_aux():4004f0:       55                      push   %rbp4004f1:       48 89 e5                mov    %rsp,%rbp4004f4:       53                      push   %rbx4004f5:       48 83 ec 08             sub    $0x8,%rsp4004f9:       80 3d a8 04 20 00 00    cmpb   $0x0,2098344(%rip)        # 6009a8 <completed.6145>400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>400502:       b8 90 07 60 00          mov    $0x600790,%eax400507:       48 2d 88 07 60 00       sub    $0x600788,%rax40050d:       48 c1 f8 03             sar    $0x3,%rax400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx400515:       48 8b 05 84 04 20 00    mov    2098308(%rip),%rax        # 6009a0 <dtor_idx.6147>40051c:       48 39 c3                cmp    %rax,%rbx40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>400521:       48 83 c0 01             add    $0x1,%rax400525:       48 89 05 74 04 20 00    mov    %rax,2098292(%rip)        # 6009a0 <dtor_idx.6147>40052c:       ff 14 c5 88 07 60 00    callq  *0x600788(,%rax,8)400533:       48 8b 05 66 04 20 00    mov    2098278(%rip),%rax        # 6009a0 <dtor_idx.6147>40053a:       48 39 c3                cmp    %rax,%rbx40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>40053f:       c6 05 62 04 20 00 01    movb   $0x1,2098274(%rip)        # 6009a8 <completed.6145>400546:       48 83 c4 08             add    $0x8,%rsp40054a:       5b                      pop    %rbx40054b:       c9                      leaveq 40054c:       c3                      retq   40054d:       0f 1f 00                nopl   (%rax)0000000000400550 <frame_dummy>:
frame_dummy():400550:       55                      push   %rbp400551:       48 83 3d 3f 02 20 00    cmpq   $0x0,2097727(%rip)        # 600798 <__JCR_END__>400558:       00 400559:       48 89 e5                mov    %rsp,%rbp40055c:       74 16                   je     400574 <frame_dummy+0x24>40055e:       b8 00 00 00 00          mov    $0x0,%eax400563:       48 85 c0                test   %rax,%rax400566:       74 0c                   je     400574 <frame_dummy+0x24>400568:       bf 98 07 60 00          mov    $0x600798,%edi40056d:       49 89 c3                mov    %rax,%r11400570:       c9                      leaveq 400571:       41 ff e3                jmpq   *%r11400574:       c9                      leaveq 400575:       c3                      retq   400576:       90                      nop    400577:       90                      nop    0000000000400578 <main>:
main():
/root/workstation/CODE_TEST/Cpp/objtest.c:5
/*
g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c
*/
#include <unistd.h>
int main ( int argc, char * argv[] )400578:       55                      push   %rbp400579:       48 89 e5                mov    %rsp,%rbp40057c:       48 83 ec 10             sub    $0x10,%rsp400580:       89 7d fc                mov    %edi,0xfffffffffffffffc(%rbp)400583:       48 89 75 f0             mov    %rsi,0xfffffffffffffff0(%rbp)
/root/workstation/CODE_TEST/Cpp/objtest.c:7
{execl( "/bin/sh", "/bin/sh", "-i", 0 );400587:       b9 00 00 00 00          mov    $0x0,%ecx40058c:       ba a8 06 40 00          mov    $0x4006a8,%edx400591:       be ab 06 40 00          mov    $0x4006ab,%esi400596:       bf ab 06 40 00          mov    $0x4006ab,%edi40059b:       b8 00 00 00 00          mov    $0x0,%eax4005a0:       e8 c3 fe ff ff          callq  400468 <execl@plt>
/root/workstation/CODE_TEST/Cpp/objtest.c:8return 0;4005a5:       b8 00 00 00 00          mov    $0x0,%eax
/root/workstation/CODE_TEST/Cpp/objtest.c:9
}4005aa:       c9                      leaveq 4005ab:       c3                      retq   4005ac:       90                      nop    4005ad:       90                      nop    4005ae:       90                      nop    4005af:       90                      nop    00000000004005b0 <__libc_csu_fini>:
__libc_csu_fini():4005b0:       f3 c3                   repz retq 4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)00000000004005c0 <__libc_csu_init>:
__libc_csu_init():4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)4005ca:       4c 8d 25 a3 01 20 00    lea    2097571(%rip),%r12        # 600774 <__fini_array_end>4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)4005db:       49 89 f6                mov    %rsi,%r144005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)4005e8:       48 83 ec 38             sub    $0x38,%rsp4005ec:       41 89 ff                mov    %edi,%r15d4005ef:       49 89 d5                mov    %rdx,%r134005f2:       e8 49 fe ff ff          callq  400440 <_init>4005f7:       48 8d 05 76 01 20 00    lea    2097526(%rip),%rax        # 600774 <__fini_array_end>4005fe:       49 29 c4                sub    %rax,%r12400601:       49 c1 fc 03             sar    $0x3,%r12400605:       4d 85 e4                test   %r12,%r12400608:       74 1e                   je     400628 <__libc_csu_init+0x68>40060a:       31 ed                   xor    %ebp,%ebp40060c:       48 89 c3                mov    %rax,%rbx40060f:       90                      nop    400610:       48 83 c5 01             add    $0x1,%rbp400614:       4c 89 ea                mov    %r13,%rdx400617:       4c 89 f6                mov    %r14,%rsi40061a:       44 89 ff                mov    %r15d,%edi40061d:       ff 13                   callq  *(%rbx)40061f:       48 83 c3 08             add    $0x8,%rbx400623:       49 39 ec                cmp    %rbp,%r12400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r1340063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15400646:       48 83 c4 38             add    $0x38,%rsp40064a:       c3                      retq   40064b:       90                      nop    40064c:       90                      nop    40064d:       90                      nop    40064e:       90                      nop    40064f:       90                      nop    0000000000400650 <__do_global_ctors_aux>:
__do_global_ctors_aux():400650:       55                      push   %rbp400651:       48 89 e5                mov    %rsp,%rbp400654:       53                      push   %rbx400655:       bb 78 07 60 00          mov    $0x600778,%ebx40065a:       48 83 ec 08             sub    $0x8,%rsp40065e:       48 8b 05 13 01 20 00    mov    2097427(%rip),%rax        # 600778 <__CTOR_LIST__>400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)400670:       48 83 eb 08             sub    $0x8,%rbx400674:       ff d0                   callq  *%rax400676:       48 8b 03                mov    (%rbx),%rax400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>40067f:       48 83 c4 08             add    $0x8,%rsp400683:       5b                      pop    %rbx400684:       c9                      leaveq 400685:       c3                      retq   400686:       90                      nop    400687:       90                      nop
[root@Betty Cpp]#

反汇编的时候,显示每一行的完整地址。

[root@Betty Cpp]#
[root@Betty Cpp]# objdump -j .text -Sl objtest --prefix-addressesobjtest:     file format elf64-x86-64Disassembly of section .text:
_start():
00000000004004a0 <_start> xor    %ebp,%ebp
00000000004004a2 <_start+0x2> mov    %rdx,%r9
00000000004004a5 <_start+0x5> pop    %rsi
00000000004004a6 <_start+0x6> mov    %rsp,%rdx
00000000004004a9 <_start+0x9> and    $0xfffffffffffffff0,%rsp
00000000004004ad <_start+0xd> push   %rax
00000000004004ae <_start+0xe> push   %rsp
00000000004004af <_start+0xf> mov    $0x4005b0,%r8
00000000004004b6 <_start+0x16> mov    $0x4005c0,%rcx
00000000004004bd <_start+0x1d> mov    $0x400578,%rdi
00000000004004c4 <_start+0x24> callq  0000000000400478 <__libc_start_main@plt>
00000000004004c9 <_start+0x29> hlt
00000000004004ca <_start+0x2a> nop
00000000004004cb <_start+0x2b> nop
call_gmon_start():
00000000004004cc <call_gmon_start> sub    $0x8,%rsp
00000000004004d0 <call_gmon_start+0x4> mov    2098313(%rip),%rax        # 0000000000600960 <_DYNAMIC+0x1c0>
00000000004004d7 <call_gmon_start+0xb> test   %rax,%rax
00000000004004da <call_gmon_start+0xe> je     00000000004004de <call_gmon_start+0x12>
00000000004004dc <call_gmon_start+0x10> callq  *%rax
00000000004004de <call_gmon_start+0x12> add    $0x8,%rsp
00000000004004e2 <call_gmon_start+0x16> retq
00000000004004e3 <call_gmon_start+0x17> nop
00000000004004e4 <call_gmon_start+0x18> nop
00000000004004e5 <call_gmon_start+0x19> nop
00000000004004e6 <call_gmon_start+0x1a> nop
00000000004004e7 <call_gmon_start+0x1b> nop
00000000004004e8 <call_gmon_start+0x1c> nop
00000000004004e9 <call_gmon_start+0x1d> nop
00000000004004ea <call_gmon_start+0x1e> nop
00000000004004eb <call_gmon_start+0x1f> nop
00000000004004ec <call_gmon_start+0x20> nop
00000000004004ed <call_gmon_start+0x21> nop
00000000004004ee <call_gmon_start+0x22> nop
00000000004004ef <call_gmon_start+0x23> nop
__do_global_dtors_aux():
00000000004004f0 <__do_global_dtors_aux> push   %rbp
00000000004004f1 <__do_global_dtors_aux+0x1> mov    %rsp,%rbp
00000000004004f4 <__do_global_dtors_aux+0x4> push   %rbx
00000000004004f5 <__do_global_dtors_aux+0x5> sub    $0x8,%rsp
00000000004004f9 <__do_global_dtors_aux+0x9> cmpb   $0x0,2098344(%rip)        # 00000000006009a8 <completed.6145>
0000000000400500 <__do_global_dtors_aux+0x10> jne    0000000000400546 <__do_global_dtors_aux+0x56>
0000000000400502 <__do_global_dtors_aux+0x12> mov    $0x600790,%eax
0000000000400507 <__do_global_dtors_aux+0x17> sub    $0x600788,%rax
000000000040050d <__do_global_dtors_aux+0x1d> sar    $0x3,%rax
0000000000400511 <__do_global_dtors_aux+0x21> lea    0xffffffffffffffff(%rax),%rbx
0000000000400515 <__do_global_dtors_aux+0x25> mov    2098308(%rip),%rax        # 00000000006009a0 <dtor_idx.6147>
000000000040051c <__do_global_dtors_aux+0x2c> cmp    %rax,%rbx
000000000040051f <__do_global_dtors_aux+0x2f> jbe    000000000040053f <__do_global_dtors_aux+0x4f>
0000000000400521 <__do_global_dtors_aux+0x31> add    $0x1,%rax
0000000000400525 <__do_global_dtors_aux+0x35> mov    %rax,2098292(%rip)        # 00000000006009a0 <dtor_idx.6147>
000000000040052c <__do_global_dtors_aux+0x3c> callq  *0x600788(,%rax,8)
0000000000400533 <__do_global_dtors_aux+0x43> mov    2098278(%rip),%rax        # 00000000006009a0 <dtor_idx.6147>
000000000040053a <__do_global_dtors_aux+0x4a> cmp    %rax,%rbx
000000000040053d <__do_global_dtors_aux+0x4d> ja     0000000000400521 <__do_global_dtors_aux+0x31>
000000000040053f <__do_global_dtors_aux+0x4f> movb   $0x1,2098274(%rip)        # 00000000006009a8 <completed.6145>
0000000000400546 <__do_global_dtors_aux+0x56> add    $0x8,%rsp
000000000040054a <__do_global_dtors_aux+0x5a> pop    %rbx
000000000040054b <__do_global_dtors_aux+0x5b> leaveq
000000000040054c <__do_global_dtors_aux+0x5c> retq
000000000040054d <__do_global_dtors_aux+0x5d> nopl   (%rax)
frame_dummy():
0000000000400550 <frame_dummy> push   %rbp
0000000000400551 <frame_dummy+0x1> cmpq   $0x0,2097727(%rip)        # 0000000000600798 <__JCR_END__>
0000000000400559 <frame_dummy+0x9> mov    %rsp,%rbp
000000000040055c <frame_dummy+0xc> je     0000000000400574 <frame_dummy+0x24>
000000000040055e <frame_dummy+0xe> mov    $0x0,%eax
0000000000400563 <frame_dummy+0x13> test   %rax,%rax
0000000000400566 <frame_dummy+0x16> je     0000000000400574 <frame_dummy+0x24>
0000000000400568 <frame_dummy+0x18> mov    $0x600798,%edi
000000000040056d <frame_dummy+0x1d> mov    %rax,%r11
0000000000400570 <frame_dummy+0x20> leaveq
0000000000400571 <frame_dummy+0x21> jmpq   *%r11
0000000000400574 <frame_dummy+0x24> leaveq
0000000000400575 <frame_dummy+0x25> retq
0000000000400576 <frame_dummy+0x26> nop
0000000000400577 <frame_dummy+0x27> nop
main():
/root/workstation/CODE_TEST/Cpp/objtest.c:5
/*
g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c
*/
#include <unistd.h>
int main ( int argc, char * argv[] )
0000000000400578 <main> push   %rbp
0000000000400579 <main+0x1> mov    %rsp,%rbp
000000000040057c <main+0x4> sub    $0x10,%rsp
0000000000400580 <main+0x8> mov    %edi,0xfffffffffffffffc(%rbp)
0000000000400583 <main+0xb> mov    %rsi,0xfffffffffffffff0(%rbp)
/root/workstation/CODE_TEST/Cpp/objtest.c:7
{execl( "/bin/sh", "/bin/sh", "-i", 0 );
0000000000400587 <main+0xf> mov    $0x0,%ecx
000000000040058c <main+0x14> mov    $0x4006a8,%edx
0000000000400591 <main+0x19> mov    $0x4006ab,%esi
0000000000400596 <main+0x1e> mov    $0x4006ab,%edi
000000000040059b <main+0x23> mov    $0x0,%eax
00000000004005a0 <main+0x28> callq  0000000000400468 <execl@plt>
/root/workstation/CODE_TEST/Cpp/objtest.c:8return 0;
00000000004005a5 <main+0x2d> mov    $0x0,%eax
/root/workstation/CODE_TEST/Cpp/objtest.c:9
}
00000000004005aa <main+0x32> leaveq
00000000004005ab <main+0x33> retq
00000000004005ac <main+0x34> nop
00000000004005ad <main+0x35> nop
00000000004005ae <main+0x36> nop
00000000004005af <main+0x37> nop
__libc_csu_fini():
00000000004005b0 <__libc_csu_fini> repz retq
00000000004005b2 <__libc_csu_fini+0x2> nopl   0x0(%rax)
00000000004005b9 <__libc_csu_fini+0x9> nopl   0x0(%rax)
__libc_csu_init():
00000000004005c0 <__libc_csu_init> mov    %r12,0xffffffffffffffe0(%rsp)
00000000004005c5 <__libc_csu_init+0x5> mov    %r13,0xffffffffffffffe8(%rsp)
00000000004005ca <__libc_csu_init+0xa> lea    2097571(%rip),%r12        # 0000000000600774 <__fini_array_end>
00000000004005d1 <__libc_csu_init+0x11> mov    %r14,0xfffffffffffffff0(%rsp)
00000000004005d6 <__libc_csu_init+0x16> mov    %r15,0xfffffffffffffff8(%rsp)
00000000004005db <__libc_csu_init+0x1b> mov    %rsi,%r14
00000000004005de <__libc_csu_init+0x1e> mov    %rbx,0xffffffffffffffd0(%rsp)
00000000004005e3 <__libc_csu_init+0x23> mov    %rbp,0xffffffffffffffd8(%rsp)
00000000004005e8 <__libc_csu_init+0x28> sub    $0x38,%rsp
00000000004005ec <__libc_csu_init+0x2c> mov    %edi,%r15d
00000000004005ef <__libc_csu_init+0x2f> mov    %rdx,%r13
00000000004005f2 <__libc_csu_init+0x32> callq  0000000000400440 <_init>
00000000004005f7 <__libc_csu_init+0x37> lea    2097526(%rip),%rax        # 0000000000600774 <__fini_array_end>
00000000004005fe <__libc_csu_init+0x3e> sub    %rax,%r12
0000000000400601 <__libc_csu_init+0x41> sar    $0x3,%r12
0000000000400605 <__libc_csu_init+0x45> test   %r12,%r12
0000000000400608 <__libc_csu_init+0x48> je     0000000000400628 <__libc_csu_init+0x68>
000000000040060a <__libc_csu_init+0x4a> xor    %ebp,%ebp
000000000040060c <__libc_csu_init+0x4c> mov    %rax,%rbx
000000000040060f <__libc_csu_init+0x4f> nop
0000000000400610 <__libc_csu_init+0x50> add    $0x1,%rbp
0000000000400614 <__libc_csu_init+0x54> mov    %r13,%rdx
0000000000400617 <__libc_csu_init+0x57> mov    %r14,%rsi
000000000040061a <__libc_csu_init+0x5a> mov    %r15d,%edi
000000000040061d <__libc_csu_init+0x5d> callq  *(%rbx)
000000000040061f <__libc_csu_init+0x5f> add    $0x8,%rbx
0000000000400623 <__libc_csu_init+0x63> cmp    %rbp,%r12
0000000000400626 <__libc_csu_init+0x66> jne    0000000000400610 <__libc_csu_init+0x50>
0000000000400628 <__libc_csu_init+0x68> mov    0x8(%rsp),%rbx
000000000040062d <__libc_csu_init+0x6d> mov    0x10(%rsp),%rbp
0000000000400632 <__libc_csu_init+0x72> mov    0x18(%rsp),%r12
0000000000400637 <__libc_csu_init+0x77> mov    0x20(%rsp),%r13
000000000040063c <__libc_csu_init+0x7c> mov    0x28(%rsp),%r14
0000000000400641 <__libc_csu_init+0x81> mov    0x30(%rsp),%r15
0000000000400646 <__libc_csu_init+0x86> add    $0x38,%rsp
000000000040064a <__libc_csu_init+0x8a> retq
000000000040064b <__libc_csu_init+0x8b> nop
000000000040064c <__libc_csu_init+0x8c> nop
000000000040064d <__libc_csu_init+0x8d> nop
000000000040064e <__libc_csu_init+0x8e> nop
000000000040064f <__libc_csu_init+0x8f> nop
__do_global_ctors_aux():
0000000000400650 <__do_global_ctors_aux> push   %rbp
0000000000400651 <__do_global_ctors_aux+0x1> mov    %rsp,%rbp
0000000000400654 <__do_global_ctors_aux+0x4> push   %rbx
0000000000400655 <__do_global_ctors_aux+0x5> mov    $0x600778,%ebx
000000000040065a <__do_global_ctors_aux+0xa> sub    $0x8,%rsp
000000000040065e <__do_global_ctors_aux+0xe> mov    2097427(%rip),%rax        # 0000000000600778 <__CTOR_LIST__>
0000000000400665 <__do_global_ctors_aux+0x15> cmp    $0xffffffffffffffff,%rax
0000000000400669 <__do_global_ctors_aux+0x19> je     000000000040067f <__do_global_ctors_aux+0x2f>
000000000040066b <__do_global_ctors_aux+0x1b> nopl   0x0(%rax,%rax,1)
0000000000400670 <__do_global_ctors_aux+0x20> sub    $0x8,%rbx
0000000000400674 <__do_global_ctors_aux+0x24> callq  *%rax
0000000000400676 <__do_global_ctors_aux+0x26> mov    (%rbx),%rax
0000000000400679 <__do_global_ctors_aux+0x29> cmp    $0xffffffffffffffff,%rax
000000000040067d <__do_global_ctors_aux+0x2d> jne    0000000000400670 <__do_global_ctors_aux+0x20>
000000000040067f <__do_global_ctors_aux+0x2f> add    $0x8,%rsp
0000000000400683 <__do_global_ctors_aux+0x33> pop    %rbx
0000000000400684 <__do_global_ctors_aux+0x34> leaveq
0000000000400685 <__do_global_ctors_aux+0x35> retq
0000000000400686 <__do_global_ctors_aux+0x36> nop
0000000000400687 <__do_global_ctors_aux+0x37> nop
[root@Betty Cpp]#

反汇编输出 .text 中所有 section 的信息。

[root@Betty Cpp]# objdump -j .text -Dl objtestobjtest:     file format elf64-x86-64Disassembly of section .text:00000000004004a0 <_start>:
_start():4004a0:       31 ed                   xor    %ebp,%ebp4004a2:       49 89 d1                mov    %rdx,%r94004a5:       5e                      pop    %rsi4004a6:       48 89 e2                mov    %rsp,%rdx4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp4004ad:       50                      push   %rax4004ae:       54                      push   %rsp4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r84004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx4004bd:       48 c7 c7 78 05 40 00    mov    $0x400578,%rdi4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>4004c9:       f4                      hlt    4004ca:       90                      nop    4004cb:       90                      nop    00000000004004cc <call_gmon_start>:
call_gmon_start():4004cc:       48 83 ec 08             sub    $0x8,%rsp4004d0:       48 8b 05 89 04 20 00    mov    2098313(%rip),%rax        # 600960 <_DYNAMIC+0x1c0>4004d7:       48 85 c0                test   %rax,%rax4004da:       74 02                   je     4004de <call_gmon_start+0x12>4004dc:       ff d0                   callq  *%rax4004de:       48 83 c4 08             add    $0x8,%rsp4004e2:       c3                      retq   4004e3:       90                      nop    4004e4:       90                      nop    4004e5:       90                      nop    4004e6:       90                      nop    4004e7:       90                      nop    4004e8:       90                      nop    4004e9:       90                      nop    4004ea:       90                      nop    4004eb:       90                      nop    4004ec:       90                      nop    4004ed:       90                      nop    4004ee:       90                      nop    4004ef:       90                      nop    00000000004004f0 <__do_global_dtors_aux>:
__do_global_dtors_aux():4004f0:       55                      push   %rbp4004f1:       48 89 e5                mov    %rsp,%rbp4004f4:       53                      push   %rbx4004f5:       48 83 ec 08             sub    $0x8,%rsp4004f9:       80 3d a8 04 20 00 00    cmpb   $0x0,2098344(%rip)        # 6009a8 <completed.6145>400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>400502:       b8 90 07 60 00          mov    $0x600790,%eax400507:       48 2d 88 07 60 00       sub    $0x600788,%rax40050d:       48 c1 f8 03             sar    $0x3,%rax400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx400515:       48 8b 05 84 04 20 00    mov    2098308(%rip),%rax        # 6009a0 <dtor_idx.6147>40051c:       48 39 c3                cmp    %rax,%rbx40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>400521:       48 83 c0 01             add    $0x1,%rax400525:       48 89 05 74 04 20 00    mov    %rax,2098292(%rip)        # 6009a0 <dtor_idx.6147>40052c:       ff 14 c5 88 07 60 00    callq  *0x600788(,%rax,8)400533:       48 8b 05 66 04 20 00    mov    2098278(%rip),%rax        # 6009a0 <dtor_idx.6147>40053a:       48 39 c3                cmp    %rax,%rbx40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>40053f:       c6 05 62 04 20 00 01    movb   $0x1,2098274(%rip)        # 6009a8 <completed.6145>400546:       48 83 c4 08             add    $0x8,%rsp40054a:       5b                      pop    %rbx40054b:       c9                      leaveq 40054c:       c3                      retq   40054d:       0f 1f 00                nopl   (%rax)0000000000400550 <frame_dummy>:
frame_dummy():400550:       55                      push   %rbp400551:       48 83 3d 3f 02 20 00    cmpq   $0x0,2097727(%rip)        # 600798 <__JCR_END__>400558:       00 400559:       48 89 e5                mov    %rsp,%rbp40055c:       74 16                   je     400574 <frame_dummy+0x24>40055e:       b8 00 00 00 00          mov    $0x0,%eax400563:       48 85 c0                test   %rax,%rax400566:       74 0c                   je     400574 <frame_dummy+0x24>400568:       bf 98 07 60 00          mov    $0x600798,%edi40056d:       49 89 c3                mov    %rax,%r11400570:       c9                      leaveq 400571:       41 ff e3                jmpq   *%r11400574:       c9                      leaveq 400575:       c3                      retq   400576:       90                      nop    400577:       90                      nop    0000000000400578 <main>:
main():
/root/workstation/CODE_TEST/Cpp/objtest.c:5400578:       55                      push   %rbp400579:       48 89 e5                mov    %rsp,%rbp40057c:       48 83 ec 10             sub    $0x10,%rsp400580:       89 7d fc                mov    %edi,0xfffffffffffffffc(%rbp)400583:       48 89 75 f0             mov    %rsi,0xfffffffffffffff0(%rbp)
/root/workstation/CODE_TEST/Cpp/objtest.c:7400587:       b9 00 00 00 00          mov    $0x0,%ecx40058c:       ba a8 06 40 00          mov    $0x4006a8,%edx400591:       be ab 06 40 00          mov    $0x4006ab,%esi400596:       bf ab 06 40 00          mov    $0x4006ab,%edi40059b:       b8 00 00 00 00          mov    $0x0,%eax4005a0:       e8 c3 fe ff ff          callq  400468 <execl@plt>
/root/workstation/CODE_TEST/Cpp/objtest.c:84005a5:       b8 00 00 00 00          mov    $0x0,%eax
/root/workstation/CODE_TEST/Cpp/objtest.c:94005aa:       c9                      leaveq 4005ab:       c3                      retq   4005ac:       90                      nop    4005ad:       90                      nop    4005ae:       90                      nop    4005af:       90                      nop    00000000004005b0 <__libc_csu_fini>:
__libc_csu_fini():4005b0:       f3 c3                   repz retq 4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)00000000004005c0 <__libc_csu_init>:
__libc_csu_init():4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)4005ca:       4c 8d 25 a3 01 20 00    lea    2097571(%rip),%r12        # 600774 <__fini_array_end>4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)4005db:       49 89 f6                mov    %rsi,%r144005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)4005e8:       48 83 ec 38             sub    $0x38,%rsp4005ec:       41 89 ff                mov    %edi,%r15d4005ef:       49 89 d5                mov    %rdx,%r134005f2:       e8 49 fe ff ff          callq  400440 <_init>4005f7:       48 8d 05 76 01 20 00    lea    2097526(%rip),%rax        # 600774 <__fini_array_end>4005fe:       49 29 c4                sub    %rax,%r12400601:       49 c1 fc 03             sar    $0x3,%r12400605:       4d 85 e4                test   %r12,%r12400608:       74 1e                   je     400628 <__libc_csu_init+0x68>40060a:       31 ed                   xor    %ebp,%ebp40060c:       48 89 c3                mov    %rax,%rbx40060f:       90                      nop    400610:       48 83 c5 01             add    $0x1,%rbp400614:       4c 89 ea                mov    %r13,%rdx400617:       4c 89 f6                mov    %r14,%rsi40061a:       44 89 ff                mov    %r15d,%edi40061d:       ff 13                   callq  *(%rbx)40061f:       48 83 c3 08             add    $0x8,%rbx400623:       49 39 ec                cmp    %rbp,%r12400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r1340063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15400646:       48 83 c4 38             add    $0x38,%rsp40064a:       c3                      retq   40064b:       90                      nop    40064c:       90                      nop    40064d:       90                      nop    40064e:       90                      nop    40064f:       90                      nop    0000000000400650 <__do_global_ctors_aux>:
__do_global_ctors_aux():400650:       55                      push   %rbp400651:       48 89 e5                mov    %rsp,%rbp400654:       53                      push   %rbx400655:       bb 78 07 60 00          mov    $0x600778,%ebx40065a:       48 83 ec 08             sub    $0x8,%rsp40065e:       48 8b 05 13 01 20 00    mov    2097427(%rip),%rax        # 600778 <__CTOR_LIST__>400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)400670:       48 83 eb 08             sub    $0x8,%rbx400674:       ff d0                   callq  *%rax400676:       48 8b 03                mov    (%rbx),%rax400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>40067f:       48 83 c4 08             add    $0x8,%rsp400683:       5b                      pop    %rbx400684:       c9                      leaveq 400685:       c3                      retq   400686:       90                      nop    400687:       90                      nop
[root@Betty Cpp]#
[root@Betty Cpp]#

指定数据 .text 代码段的反汇编信息。

[root@Betty Cpp]# objdump -j .text -S objtest objtest:     file format elf64-x86-64Disassembly of section .text:00000000004004a0 <_start>:4004a0:       31 ed                   xor    %ebp,%ebp4004a2:       49 89 d1                mov    %rdx,%r94004a5:       5e                      pop    %rsi4004a6:       48 89 e2                mov    %rsp,%rdx4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp4004ad:       50                      push   %rax4004ae:       54                      push   %rsp4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r84004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx4004bd:       48 c7 c7 78 05 40 00    mov    $0x400578,%rdi4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>4004c9:       f4                      hlt    4004ca:       90                      nop    4004cb:       90                      nop    00000000004004cc <call_gmon_start>:4004cc:       48 83 ec 08             sub    $0x8,%rsp4004d0:       48 8b 05 89 04 20 00    mov    2098313(%rip),%rax        # 600960 <_DYNAMIC+0x1c0>4004d7:       48 85 c0                test   %rax,%rax4004da:       74 02                   je     4004de <call_gmon_start+0x12>4004dc:       ff d0                   callq  *%rax4004de:       48 83 c4 08             add    $0x8,%rsp4004e2:       c3                      retq   4004e3:       90                      nop    4004e4:       90                      nop    4004e5:       90                      nop    4004e6:       90                      nop    4004e7:       90                      nop    4004e8:       90                      nop    4004e9:       90                      nop    4004ea:       90                      nop    4004eb:       90                      nop    4004ec:       90                      nop    4004ed:       90                      nop    4004ee:       90                      nop    4004ef:       90                      nop    00000000004004f0 <__do_global_dtors_aux>:4004f0:       55                      push   %rbp4004f1:       48 89 e5                mov    %rsp,%rbp4004f4:       53                      push   %rbx4004f5:       48 83 ec 08             sub    $0x8,%rsp4004f9:       80 3d a8 04 20 00 00    cmpb   $0x0,2098344(%rip)        # 6009a8 <completed.6145>400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>400502:       b8 90 07 60 00          mov    $0x600790,%eax400507:       48 2d 88 07 60 00       sub    $0x600788,%rax40050d:       48 c1 f8 03             sar    $0x3,%rax400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx400515:       48 8b 05 84 04 20 00    mov    2098308(%rip),%rax        # 6009a0 <dtor_idx.6147>40051c:       48 39 c3                cmp    %rax,%rbx40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>400521:       48 83 c0 01             add    $0x1,%rax400525:       48 89 05 74 04 20 00    mov    %rax,2098292(%rip)        # 6009a0 <dtor_idx.6147>40052c:       ff 14 c5 88 07 60 00    callq  *0x600788(,%rax,8)400533:       48 8b 05 66 04 20 00    mov    2098278(%rip),%rax        # 6009a0 <dtor_idx.6147>40053a:       48 39 c3                cmp    %rax,%rbx40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>40053f:       c6 05 62 04 20 00 01    movb   $0x1,2098274(%rip)        # 6009a8 <completed.6145>400546:       48 83 c4 08             add    $0x8,%rsp40054a:       5b                      pop    %rbx40054b:       c9                      leaveq 40054c:       c3                      retq   40054d:       0f 1f 00                nopl   (%rax)0000000000400550 <frame_dummy>:400550:       55                      push   %rbp400551:       48 83 3d 3f 02 20 00    cmpq   $0x0,2097727(%rip)        # 600798 <__JCR_END__>400558:       00 400559:       48 89 e5                mov    %rsp,%rbp40055c:       74 16                   je     400574 <frame_dummy+0x24>40055e:       b8 00 00 00 00          mov    $0x0,%eax400563:       48 85 c0                test   %rax,%rax400566:       74 0c                   je     400574 <frame_dummy+0x24>400568:       bf 98 07 60 00          mov    $0x600798,%edi40056d:       49 89 c3                mov    %rax,%r11400570:       c9                      leaveq 400571:       41 ff e3                jmpq   *%r11400574:       c9                      leaveq 400575:       c3                      retq   400576:       90                      nop    400577:       90                      nop    0000000000400578 <main>:
/*
g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c
*/
#include <unistd.h>
int main ( int argc, char * argv[] )400578:       55                      push   %rbp400579:       48 89 e5                mov    %rsp,%rbp40057c:       48 83 ec 10             sub    $0x10,%rsp400580:       89 7d fc                mov    %edi,0xfffffffffffffffc(%rbp)400583:       48 89 75 f0             mov    %rsi,0xfffffffffffffff0(%rbp)
{execl( "/bin/sh", "/bin/sh", "-i", 0 );400587:       b9 00 00 00 00          mov    $0x0,%ecx40058c:       ba a8 06 40 00          mov    $0x4006a8,%edx400591:       be ab 06 40 00          mov    $0x4006ab,%esi400596:       bf ab 06 40 00          mov    $0x4006ab,%edi40059b:       b8 00 00 00 00          mov    $0x0,%eax4005a0:       e8 c3 fe ff ff          callq  400468 <execl@plt>return 0;4005a5:       b8 00 00 00 00          mov    $0x0,%eax
}4005aa:       c9                      leaveq 4005ab:       c3                      retq   4005ac:       90                      nop    4005ad:       90                      nop    4005ae:       90                      nop    4005af:       90                      nop    00000000004005b0 <__libc_csu_fini>:4005b0:       f3 c3                   repz retq 4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)00000000004005c0 <__libc_csu_init>:4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)4005ca:       4c 8d 25 a3 01 20 00    lea    2097571(%rip),%r12        # 600774 <__fini_array_end>4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)4005db:       49 89 f6                mov    %rsi,%r144005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)4005e8:       48 83 ec 38             sub    $0x38,%rsp4005ec:       41 89 ff                mov    %edi,%r15d4005ef:       49 89 d5                mov    %rdx,%r134005f2:       e8 49 fe ff ff          callq  400440 <_init>4005f7:       48 8d 05 76 01 20 00    lea    2097526(%rip),%rax        # 600774 <__fini_array_end>4005fe:       49 29 c4                sub    %rax,%r12400601:       49 c1 fc 03             sar    $0x3,%r12400605:       4d 85 e4                test   %r12,%r12400608:       74 1e                   je     400628 <__libc_csu_init+0x68>40060a:       31 ed                   xor    %ebp,%ebp40060c:       48 89 c3                mov    %rax,%rbx40060f:       90                      nop    400610:       48 83 c5 01             add    $0x1,%rbp400614:       4c 89 ea                mov    %r13,%rdx400617:       4c 89 f6                mov    %r14,%rsi40061a:       44 89 ff                mov    %r15d,%edi40061d:       ff 13                   callq  *(%rbx)40061f:       48 83 c3 08             add    $0x8,%rbx400623:       49 39 ec                cmp    %rbp,%r12400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r1340063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15400646:       48 83 c4 38             add    $0x38,%rsp40064a:       c3                      retq   40064b:       90                      nop    40064c:       90                      nop    40064d:       90                      nop    40064e:       90                      nop    40064f:       90                      nop    0000000000400650 <__do_global_ctors_aux>:400650:       55                      push   %rbp400651:       48 89 e5                mov    %rsp,%rbp400654:       53                      push   %rbx400655:       bb 78 07 60 00          mov    $0x600778,%ebx40065a:       48 83 ec 08             sub    $0x8,%rsp40065e:       48 8b 05 13 01 20 00    mov    2097427(%rip),%rax        # 600778 <__CTOR_LIST__>400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)400670:       48 83 eb 08             sub    $0x8,%rbx400674:       ff d0                   callq  *%rax400676:       48 8b 03                mov    (%rbx),%rax400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>40067f:       48 83 c4 08             add    $0x8,%rsp400683:       5b                      pop    %rbx400684:       c9                      leaveq 400685:       c3                      retq   400686:       90                      nop    400687:       90                      nop
[root@Betty Cpp]#

未设置 -g 参数,并使用了 -O3 参数得到的 obj 文件反汇编后信息量非常少。

[root@Betty Cpp]#
[root@Betty Cpp]# g++ -O3 -o objtest objtest.c
[root@Betty Cpp]#
[root@Betty Cpp]# objdump -j .text -S objtestobjtest:     file format elf64-x86-64Disassembly of section .text:00000000004004a0 <_start>:4004a0:       31 ed                   xor    %ebp,%ebp4004a2:       49 89 d1                mov    %rdx,%r94004a5:       5e                      pop    %rsi4004a6:       48 89 e2                mov    %rsp,%rdx4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp4004ad:       50                      push   %rax4004ae:       54                      push   %rsp4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r84004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx4004bd:       48 c7 c7 80 05 40 00    mov    $0x400580,%rdi4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>4004c9:       f4                      hlt    4004ca:       90                      nop    4004cb:       90                      nop    00000000004004cc <call_gmon_start>:4004cc:       48 83 ec 08             sub    $0x8,%rsp4004d0:       48 8b 05 81 04 20 00    mov    2098305(%rip),%rax        # 600958 <_DYNAMIC+0x1c0>4004d7:       48 85 c0                test   %rax,%rax4004da:       74 02                   je     4004de <call_gmon_start+0x12>4004dc:       ff d0                   callq  *%rax4004de:       48 83 c4 08             add    $0x8,%rsp4004e2:       c3                      retq   4004e3:       90                      nop    4004e4:       90                      nop    4004e5:       90                      nop    4004e6:       90                      nop    4004e7:       90                      nop    4004e8:       90                      nop    4004e9:       90                      nop    4004ea:       90                      nop    4004eb:       90                      nop    4004ec:       90                      nop    4004ed:       90                      nop    4004ee:       90                      nop    4004ef:       90                      nop    00000000004004f0 <__do_global_dtors_aux>:4004f0:       55                      push   %rbp4004f1:       48 89 e5                mov    %rsp,%rbp4004f4:       53                      push   %rbx4004f5:       48 83 ec 08             sub    $0x8,%rsp4004f9:       80 3d a0 04 20 00 00    cmpb   $0x0,2098336(%rip)        # 6009a0 <completed.6145>400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>400502:       b8 88 07 60 00          mov    $0x600788,%eax400507:       48 2d 80 07 60 00       sub    $0x600780,%rax40050d:       48 c1 f8 03             sar    $0x3,%rax400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx400515:       48 8b 05 7c 04 20 00    mov    2098300(%rip),%rax        # 600998 <dtor_idx.6147>40051c:       48 39 c3                cmp    %rax,%rbx40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>400521:       48 83 c0 01             add    $0x1,%rax400525:       48 89 05 6c 04 20 00    mov    %rax,2098284(%rip)        # 600998 <dtor_idx.6147>40052c:       ff 14 c5 80 07 60 00    callq  *0x600780(,%rax,8)400533:       48 8b 05 5e 04 20 00    mov    2098270(%rip),%rax        # 600998 <dtor_idx.6147>40053a:       48 39 c3                cmp    %rax,%rbx40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>40053f:       c6 05 5a 04 20 00 01    movb   $0x1,2098266(%rip)        # 6009a0 <completed.6145>400546:       48 83 c4 08             add    $0x8,%rsp40054a:       5b                      pop    %rbx40054b:       c9                      leaveq 40054c:       c3                      retq   40054d:       0f 1f 00                nopl   (%rax)0000000000400550 <frame_dummy>:400550:       55                      push   %rbp400551:       48 83 3d 37 02 20 00    cmpq   $0x0,2097719(%rip)        # 600790 <__JCR_END__>400558:       00 400559:       48 89 e5                mov    %rsp,%rbp40055c:       74 16                   je     400574 <frame_dummy+0x24>40055e:       b8 00 00 00 00          mov    $0x0,%eax400563:       48 85 c0                test   %rax,%rax400566:       74 0c                   je     400574 <frame_dummy+0x24>400568:       bf 90 07 60 00          mov    $0x600790,%edi40056d:       49 89 c3                mov    %rax,%r11400570:       c9                      leaveq 400571:       41 ff e3                jmpq   *%r11400574:       c9                      leaveq 400575:       c3                      retq   400576:       90                      nop    400577:       90                      nop    400578:       90                      nop    400579:       90                      nop    40057a:       90                      nop    40057b:       90                      nop    40057c:       90                      nop    40057d:       90                      nop    40057e:       90                      nop    40057f:       90                      nop    0000000000400580 <main>:400580:       be ab 06 40 00          mov    $0x4006ab,%esi400585:       48 83 ec 08             sub    $0x8,%rsp400589:       31 c9                   xor    %ecx,%ecx40058b:       ba a8 06 40 00          mov    $0x4006a8,%edx400590:       48 89 f7                mov    %rsi,%rdi400593:       31 c0                   xor    %eax,%eax400595:       e8 ce fe ff ff          callq  400468 <execl@plt>40059a:       31 c0                   xor    %eax,%eax40059c:       48 83 c4 08             add    $0x8,%rsp4005a0:       c3                      retq   4005a1:       90                      nop    4005a2:       90                      nop    4005a3:       90                      nop    4005a4:       90                      nop    4005a5:       90                      nop    4005a6:       90                      nop    4005a7:       90                      nop    4005a8:       90                      nop    4005a9:       90                      nop    4005aa:       90                      nop    4005ab:       90                      nop    4005ac:       90                      nop    4005ad:       90                      nop    4005ae:       90                      nop    4005af:       90                      nop    00000000004005b0 <__libc_csu_fini>:4005b0:       f3 c3                   repz retq 4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)00000000004005c0 <__libc_csu_init>:4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)4005ca:       4c 8d 25 9b 01 20 00    lea    2097563(%rip),%r12        # 60076c <__fini_array_end>4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)4005db:       49 89 f6                mov    %rsi,%r144005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)4005e8:       48 83 ec 38             sub    $0x38,%rsp4005ec:       41 89 ff                mov    %edi,%r15d4005ef:       49 89 d5                mov    %rdx,%r134005f2:       e8 49 fe ff ff          callq  400440 <_init>4005f7:       48 8d 05 6e 01 20 00    lea    2097518(%rip),%rax        # 60076c <__fini_array_end>4005fe:       49 29 c4                sub    %rax,%r12400601:       49 c1 fc 03             sar    $0x3,%r12400605:       4d 85 e4                test   %r12,%r12400608:       74 1e                   je     400628 <__libc_csu_init+0x68>40060a:       31 ed                   xor    %ebp,%ebp40060c:       48 89 c3                mov    %rax,%rbx40060f:       90                      nop    400610:       48 83 c5 01             add    $0x1,%rbp400614:       4c 89 ea                mov    %r13,%rdx400617:       4c 89 f6                mov    %r14,%rsi40061a:       44 89 ff                mov    %r15d,%edi40061d:       ff 13                   callq  *(%rbx)40061f:       48 83 c3 08             add    $0x8,%rbx400623:       49 39 ec                cmp    %rbp,%r12400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r1340063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15400646:       48 83 c4 38             add    $0x38,%rsp40064a:       c3                      retq   40064b:       90                      nop    40064c:       90                      nop    40064d:       90                      nop    40064e:       90                      nop    40064f:       90                      nop    0000000000400650 <__do_global_ctors_aux>:400650:       55                      push   %rbp400651:       48 89 e5                mov    %rsp,%rbp400654:       53                      push   %rbx400655:       bb 70 07 60 00          mov    $0x600770,%ebx40065a:       48 83 ec 08             sub    $0x8,%rsp40065e:       48 8b 05 0b 01 20 00    mov    2097419(%rip),%rax        # 600770 <__CTOR_LIST__>400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)400670:       48 83 eb 08             sub    $0x8,%rbx400674:       ff d0                   callq  *%rax400676:       48 8b 03                mov    (%rbx),%rax400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>40067f:       48 83 c4 08             add    $0x8,%rsp400683:       5b                      pop    %rbx400684:       c9                      leaveq 400685:       c3                      retq   400686:       90                      nop    400687:       90                      nop
[root@Betty Cpp]#

增加 -l 参数没有多出任何有用信息。

[root@Betty Cpp]# objdump -j .text -Sl objtestobjtest:     file format elf64-x86-64Disassembly of section .text:00000000004004a0 <_start>:
_start():4004a0:       31 ed                   xor    %ebp,%ebp4004a2:       49 89 d1                mov    %rdx,%r94004a5:       5e                      pop    %rsi4004a6:       48 89 e2                mov    %rsp,%rdx4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp4004ad:       50                      push   %rax4004ae:       54                      push   %rsp4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r84004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx4004bd:       48 c7 c7 80 05 40 00    mov    $0x400580,%rdi4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>4004c9:       f4                      hlt    4004ca:       90                      nop    4004cb:       90                      nop    00000000004004cc <call_gmon_start>:
call_gmon_start():4004cc:       48 83 ec 08             sub    $0x8,%rsp4004d0:       48 8b 05 81 04 20 00    mov    2098305(%rip),%rax        # 600958 <_DYNAMIC+0x1c0>4004d7:       48 85 c0                test   %rax,%rax4004da:       74 02                   je     4004de <call_gmon_start+0x12>4004dc:       ff d0                   callq  *%rax4004de:       48 83 c4 08             add    $0x8,%rsp4004e2:       c3                      retq   4004e3:       90                      nop    4004e4:       90                      nop    4004e5:       90                      nop    4004e6:       90                      nop    4004e7:       90                      nop    4004e8:       90                      nop    4004e9:       90                      nop    4004ea:       90                      nop    4004eb:       90                      nop    4004ec:       90                      nop    4004ed:       90                      nop    4004ee:       90                      nop    4004ef:       90                      nop    00000000004004f0 <__do_global_dtors_aux>:
__do_global_dtors_aux():4004f0:       55                      push   %rbp4004f1:       48 89 e5                mov    %rsp,%rbp4004f4:       53                      push   %rbx4004f5:       48 83 ec 08             sub    $0x8,%rsp4004f9:       80 3d a0 04 20 00 00    cmpb   $0x0,2098336(%rip)        # 6009a0 <completed.6145>400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>400502:       b8 88 07 60 00          mov    $0x600788,%eax400507:       48 2d 80 07 60 00       sub    $0x600780,%rax40050d:       48 c1 f8 03             sar    $0x3,%rax400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx400515:       48 8b 05 7c 04 20 00    mov    2098300(%rip),%rax        # 600998 <dtor_idx.6147>40051c:       48 39 c3                cmp    %rax,%rbx40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>400521:       48 83 c0 01             add    $0x1,%rax400525:       48 89 05 6c 04 20 00    mov    %rax,2098284(%rip)        # 600998 <dtor_idx.6147>40052c:       ff 14 c5 80 07 60 00    callq  *0x600780(,%rax,8)400533:       48 8b 05 5e 04 20 00    mov    2098270(%rip),%rax        # 600998 <dtor_idx.6147>40053a:       48 39 c3                cmp    %rax,%rbx40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>40053f:       c6 05 5a 04 20 00 01    movb   $0x1,2098266(%rip)        # 6009a0 <completed.6145>400546:       48 83 c4 08             add    $0x8,%rsp40054a:       5b                      pop    %rbx40054b:       c9                      leaveq 40054c:       c3                      retq   40054d:       0f 1f 00                nopl   (%rax)0000000000400550 <frame_dummy>:
frame_dummy():400550:       55                      push   %rbp400551:       48 83 3d 37 02 20 00    cmpq   $0x0,2097719(%rip)        # 600790 <__JCR_END__>400558:       00 400559:       48 89 e5                mov    %rsp,%rbp40055c:       74 16                   je     400574 <frame_dummy+0x24>40055e:       b8 00 00 00 00          mov    $0x0,%eax400563:       48 85 c0                test   %rax,%rax400566:       74 0c                   je     400574 <frame_dummy+0x24>400568:       bf 90 07 60 00          mov    $0x600790,%edi40056d:       49 89 c3                mov    %rax,%r11400570:       c9                      leaveq 400571:       41 ff e3                jmpq   *%r11400574:       c9                      leaveq 400575:       c3                      retq   400576:       90                      nop    400577:       90                      nop    400578:       90                      nop    400579:       90                      nop    40057a:       90                      nop    40057b:       90                      nop    40057c:       90                      nop    40057d:       90                      nop    40057e:       90                      nop    40057f:       90                      nop    0000000000400580 <main>:
main():400580:       be ab 06 40 00          mov    $0x4006ab,%esi400585:       48 83 ec 08             sub    $0x8,%rsp400589:       31 c9                   xor    %ecx,%ecx40058b:       ba a8 06 40 00          mov    $0x4006a8,%edx400590:       48 89 f7                mov    %rsi,%rdi400593:       31 c0                   xor    %eax,%eax400595:       e8 ce fe ff ff          callq  400468 <execl@plt>40059a:       31 c0                   xor    %eax,%eax40059c:       48 83 c4 08             add    $0x8,%rsp4005a0:       c3                      retq   4005a1:       90                      nop    4005a2:       90                      nop    4005a3:       90                      nop    4005a4:       90                      nop    4005a5:       90                      nop    4005a6:       90                      nop    4005a7:       90                      nop    4005a8:       90                      nop    4005a9:       90                      nop    4005aa:       90                      nop    4005ab:       90                      nop    4005ac:       90                      nop    4005ad:       90                      nop    4005ae:       90                      nop    4005af:       90                      nop    00000000004005b0 <__libc_csu_fini>:
__libc_csu_fini():4005b0:       f3 c3                   repz retq 4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)00000000004005c0 <__libc_csu_init>:
__libc_csu_init():4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)4005ca:       4c 8d 25 9b 01 20 00    lea    2097563(%rip),%r12        # 60076c <__fini_array_end>4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)4005db:       49 89 f6                mov    %rsi,%r144005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)4005e8:       48 83 ec 38             sub    $0x38,%rsp4005ec:       41 89 ff                mov    %edi,%r15d4005ef:       49 89 d5                mov    %rdx,%r134005f2:       e8 49 fe ff ff          callq  400440 <_init>4005f7:       48 8d 05 6e 01 20 00    lea    2097518(%rip),%rax        # 60076c <__fini_array_end>4005fe:       49 29 c4                sub    %rax,%r12400601:       49 c1 fc 03             sar    $0x3,%r12400605:       4d 85 e4                test   %r12,%r12400608:       74 1e                   je     400628 <__libc_csu_init+0x68>40060a:       31 ed                   xor    %ebp,%ebp40060c:       48 89 c3                mov    %rax,%rbx40060f:       90                      nop    400610:       48 83 c5 01             add    $0x1,%rbp400614:       4c 89 ea                mov    %r13,%rdx400617:       4c 89 f6                mov    %r14,%rsi40061a:       44 89 ff                mov    %r15d,%edi40061d:       ff 13                   callq  *(%rbx)40061f:       48 83 c3 08             add    $0x8,%rbx400623:       49 39 ec                cmp    %rbp,%r12400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r1340063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15400646:       48 83 c4 38             add    $0x38,%rsp40064a:       c3                      retq   40064b:       90                      nop    40064c:       90                      nop    40064d:       90                      nop    40064e:       90                      nop    40064f:       90                      nop    0000000000400650 <__do_global_ctors_aux>:
__do_global_ctors_aux():400650:       55                      push   %rbp400651:       48 89 e5                mov    %rsp,%rbp400654:       53                      push   %rbx400655:       bb 70 07 60 00          mov    $0x600770,%ebx40065a:       48 83 ec 08             sub    $0x8,%rsp40065e:       48 8b 05 0b 01 20 00    mov    2097419(%rip),%rax        # 600770 <__CTOR_LIST__>400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)400670:       48 83 eb 08             sub    $0x8,%rbx400674:       ff d0                   callq  *%rax400676:       48 8b 03                mov    (%rbx),%rax400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>40067f:       48 83 c4 08             add    $0x8,%rsp400683:       5b                      pop    %rbx400684:       c9                      leaveq 400685:       c3                      retq   400686:       90                      nop    400687:       90                      nop
[root@Betty Cpp]#

最后,附加几张反汇编内容的对比图片。

转载于:https://my.oschina.net/moooofly/blog/150125

【原创】objdump 的使用相关推荐

  1. arm-linux-gcc/ld/objcopy/objdump参数总结【转】

    arm-linux-gcc/ld/objcopy/objdump参数总结 转自:http://blog.csdn.net/muyuyuzhong/article/details/7755291 arm ...

  2. 【原创】Cookie应用(二)

    Cookie的作用很大,在很多技术方案中都有应用.它也是Forms身份认证模式所使用的一门技术点. 今天我就说一说它在Forms身份认证模式中都起到什么作用. (一)理论知识 ASP.NET 使用身份 ...

  3. 基恩士上位机链路通讯_【原创分享】ABB机器人与视觉控制器的通讯

    在一些工厂里你是否经常看到下图这样的一些自动化设备,他的里边有用到机器人与相机通讯完成物料位置的检测与物料抓放等功能,那么恭喜你,几分钟时间阅读完这篇文章你就懂了. 小编花了不少时间收集整理资料,下面 ...

  4. .net下的富文本编辑器FCKeditor的配置方法(图)原创

    .net下的富文本编辑器FCKeditor的配置方法(图)原创 FCKeditor是一款开源的富文本编辑器,几乎支持所有流行的Web开发语言,版本稳定,用户多,可配置性好. 以前做Java和php的时 ...

  5. objdump与readelf

    objdump和readelf都可以用来查看二进制文件的一些内部信息. 区别在于objdump 借助BFD而更加通用一些, 可以应付不同文件格式, readelf则并不借助BFD, 而是直接读取ELF ...

  6. objdump查看目标文件构成

    objdump objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具 反汇编 #objdump -d cpuid2 对于其中的反汇编代码 左边是机器指令的字节,右边是反汇编结果.显然, ...

  7. 原创 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军

    原创 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军 02972018-04-29 16:15:27 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军 齐鲁晚报 2018年0 ...

  8. [原创]Java性能优化权威指南读书思维导图

    [原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt    Binu John 译者: 柳飞 ...

  9. Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站

    Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站

  10. [原创]Android Monkey 在线日志分析工具开发

    [原创]Android Monkey 在线日志分析工具开发 在移动App测试过程中,Monkey测试是我们发现潜在问题的一种非常有效手段,但是Android原生的Monkey有其天然的不足,数据不能有 ...

最新文章

  1. 生成式对抗网络的原理和实现方法
  2. 如何在Django中接收JSON格式的数据
  3. linux 3.5.0-23-generic内核版本系统调用数目,Linux操作系统分析(三)- 更新内核与添加系统调用...
  4. Netflix:如何通过机器学习提高流媒体质量?
  5. 45套精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具
  6. win7 优化后的问题
  7. 关于vuex中actions可以返回promise的用法
  8. unix下source的使用
  9. 新库上线 | CnOpenData境外投资企业(机构)名录数据
  10. java微信公众号百度地图,微信公众号集成百度地图api,实现收货地址选择
  11. mysql从入门到精通pdf百度云明日科技_PHP从入门到精通(第3版) 明日科技 中文完整pdf扫描版[42MB]_IT教程网...
  12. 【天池大数据竞赛】“数智教育”2019数据可视化竞赛亚军方案总结
  13. 政务终端安全管理的三个视角
  14. ShareKitnbsp;中SHK.m中的编译错…
  15. php可以用wamp哪个好,phpstudy和wamp哪个好
  16. 织梦采集-织梦采集教程-织梦采集插件下载教程
  17. 第三章习题3第4题--for循环输出俄文字母表
  18. 王者荣耀服务器维修多久,王者荣耀服务器维护多久?苹果更新后进不去是正常的吗?...
  19. 机器视觉中的光源选型
  20. 在字节跳动做了4年软件测试,9月无情被辞,细思极恐

热门文章

  1. oracle11g 网页账号,oracle11g 创建用户并受权
  2. 【POJ 3580】 SuperMemo
  3. python中数组常用的统计方法
  4. SpringAOP基础以及四种实现方式
  5. KGB知识图谱的功能和特色介绍
  6. 使用excel、python、tableau对招聘数据进行数据处理及可视化分析
  7. PMSM矢量控制之RAMP_GEN
  8. 泛微oa 明细数据合计
  9. 2021小白Python入门学习记录Day3(win10系统、Python3.9、使用Pycharm)python高级数据类型(字符串、列表、元组、字典、集合) 及其操作
  10. 条件运算符的嵌套使用