[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
[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.o buffer.o: file format elf64-x86-64 rwxrwSrwx 0/0 24168 Jul 8 13:52 2013 buffer.o evbuffer.o: file format elf64-x86-64 rwxrwSrwx 0/0 28656 Jul 8 13:52 2013 evbuffer.o log.o: file format elf64-x86-64 rwxrwSrwx 0/0 14392 Jul 8 13:52 2013 log.o evutil.o: file format elf64-x86-64 rwxrwSrwx 0/0 11920 Jul 8 13:52 2013 evutil.o event_tagging.o: file format elf64-x86-64 rwxrwSrwx 0/0 30368 Jul 8 13:52 2013 event_tagging.o http.o: file format elf64-x86-64 rwxrwSrwx 0/0 169040 Jul 8 13:52 2013 http.o evdns.o: file format elf64-x86-64 rwxrwSrwx 0/0 150064 Jul 8 13:52 2013 evdns.o evrpc.o: file format elf64-x86-64 rwxrwSrwx 0/0 44912 Jul 8 13:52 2013 evrpc.o strlcpy.o: file format elf64-x86-64 rwxrwSrwx 0/0 4216 Jul 8 13:52 2013 strlcpy.o select.o: file format elf64-x86-64 rwxrwSrwx 0/0 22056 Jul 8 13:52 2013 select.o poll.o: file format elf64-x86-64 rwxrwSrwx 0/0 21832 Jul 8 13:52 2013 poll.o epoll.o: file format elf64-x86-64 rwxrwSrwx 0/0 23560 Jul 8 13:52 2013 epoll.o signal.o: file format elf64-x86-64 rwxrwSrwx 0/0 25888 Jul 8 13:52 2013 signal.o [root@Betty lib]#
[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]#
[root@Betty lib]# objdump -t libevent.a In archive libevent.a: event.o: file format elf64-x86-64 SYMBOL 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 selectops buffer.o: file format elf64-x86-64 SYMBOL 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 calloc evbuffer.o: file format elf64-x86-64 SYMBOL 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_new log.o: file format elf64-x86-64 SYMBOL 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_err evutil.o: file format elf64-x86-64 SYMBOL 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 socketpair event_tagging.o: file format elf64-x86-64 SYMBOL 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_new http.o: file format elf64-x86-64 SYMBOL 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_reply evdns.o: file format elf64-x86-64 SYMBOL 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_init evrpc.o: file format elf64-x86-64 SYMBOL 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_init strlcpy.o: file format elf64-x86-64 SYMBOL 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_strlcpy select.o: file format elf64-x86-64 SYMBOL 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 selectops poll.o: file format elf64-x86-64 SYMBOL 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 pollops epoll.o: file format elf64-x86-64 SYMBOL 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 epollops signal.o: file format elf64-x86-64 SYMBOL 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 - 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.o event.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__.5336 U __assert_fail 0000000000000100 r __func__.4892 00000000000000a9 r __func__.4961 0000000000000090 r __func__.4992 0000000000000020 r __func__.5403 0000000000000000 r __func__.5437 U calloc U clock_gettime 0000000000000000 B current_base U 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_dispatch U event_err U 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_cb U 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 eventops U evsignal_base U evutil_getenv U free 0000000000000140 t gettime U gettimeofday U malloc U pollops U realloc U selectops 0000000000000008 b use_monotonic buffer.o: 0000000000000020 r __PRETTY_FUNCTION__.4627 U __assert_fail 0000000000000000 r __func__.4672 U 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_write U evutil_vsnprintf U fprintf U free U ioctl U malloc U memchr U memcpy U memmove U read U realloc U stderr U write evbuffer.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_writecb U calloc U evbuffer_add U evbuffer_drain U evbuffer_free U evbuffer_new U evbuffer_read U evbuffer_setcb U evbuffer_write U event_add U event_base_set U event_del U event_pending U event_priority_set U event_set U free U memcpy log.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_warnx U evutil_snprintf U evutil_vsnprintf U exit U fprintf 0000000000000000 b log_fn U stderr U strerror evutil.o: U __strtoll_internal U 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_vsnprintf U fcntl U getegid U getenv U geteuid U getgid U getuid U socketpair U vsnprintf event_tagging.o: 0000000000000017 r __func__.4171 0000000000000000 r __func__.4433 0000000000000000 b _buf U calloc 0000000000000000 t decode_int_internal 00000000000000e0 t decode_tag_internal 00000000000006d0 T encode_int U evbuffer_add U evbuffer_add_buffer U evbuffer_drain U evbuffer_new U evbuffer_remove U 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_timeval U memcpy U strlen http.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__.7207 U __assert_fail U __ctype_b_loc U __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__.7717 U __strdup U __strsep_g U __strtol_internal U _event_strlcpy U accept 00000000000012b0 t accept_socket U bind 0000000000000d30 t bind_socket 0000000000000c10 t bind_socket_ai U calloc U close U connect U evbuffer_add U evbuffer_add_buffer U evbuffer_add_printf U evbuffer_drain U evbuffer_free U evbuffer_new U evbuffer_read U evbuffer_readline U evbuffer_write U event_add U event_base_set U event_del U event_err U event_errx U event_pending U event_set U event_warn U 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_connectioncb U evutil_make_socket_nonblocking U evutil_snprintf U evutil_strtoll U fcntl 0000000000000000 b file.6054 U free U freeaddrinfo U gai_strerror U getaddrinfo U getnameinfo U getsockopt U gmtime_r 0000000000000400 b host.6053 0000000000000000 t html_replace U listen 0000000000000b40 t make_addrinfo U malloc U memcpy U realloc U setsockopt U socket U strcasecmp U strchr U strcmp U strcpy U strftime U strlen U strncasecmp U strncmp U strpbrk U strspn U time 0000000000000200 r uri_chars evdns.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__.7464 U __assert_fail U __errno_location U __fxstat U __strdup U __strtok_r U __strtol_internal 00000000000006a0 t _evdns_log 0000000000003a00 t _evdns_nameserver_add_impl U abort 0000000000000240 b buf.5100 0000000000000040 b buf.5140 0000000000000010 d clkid.5756 U clock_gettime U 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_transmit U event_add U event_del U event_err U event_set U evutil_make_socket_nonblocking U evutil_snprintf U evutil_vsnprintf U free U 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_timeout U inet_aton U malloc U memcpy U 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_waiting U open U read U 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_new U 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_answers U socket U strchr U strcmp U strerror 0000000000001330 t string_num_dots U strlen 00000000000037b0 t strtoint 00000000000037e0 t strtoint_clipped 0000000000000008 d trans_id_function 0000000000000030 t transaction_id_pick evrpc.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__.5439 U __assert_fail 0000000000000020 r __func__.5182 U calloc U evbuffer_free U evbuffer_new U event_add U event_base_set U event_del U event_err U event_set U evhttp_add_header U evhttp_connection_fail U evhttp_connection_free U evhttp_connection_set_base U evhttp_del_cb U evhttp_find_header U evhttp_make_request U evhttp_request_new U evhttp_send_error U evhttp_send_reply U 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_rpc U evtag_init U free U malloc U memcpy U strcmp U strlen strlcpy.o: 0000000000000000 T _event_strlcpy select.o: U __errno_location U calloc U event_active U event_warn U evsignal_add U evsignal_dealloc U evsignal_del U evsignal_init U evsignal_process U evutil_getenv U free U memcpy U memset U random U realloc U 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 selectops poll.o: U __errno_location U calloc U event_active U event_warn U evsignal_add U evsignal_dealloc U evsignal_del U evsignal_init U evsignal_process U evutil_getenv U free U memset U poll 0000000000000350 t poll_add 0000000000000000 t poll_dealloc 0000000000000260 t poll_del 0000000000000060 t poll_dispatch 0000000000000570 t poll_init 0000000000000000 R pollops U random U realloc epoll.o: U __errno_location U calloc U close 00000000000002f0 t epoll_add U epoll_create U epoll_ctl 0000000000000000 t epoll_dealloc 0000000000000210 t epoll_del 0000000000000060 t epoll_dispatch 0000000000000460 t epoll_init U epoll_wait 0000000000000000 R epollops U event_active U event_warn U evsignal_add U evsignal_dealloc U evsignal_del U evsignal_init U evsignal_process U evutil_getenv U fcntl U free U malloc U memset U realloc signal.o: 000000000000000d r __PRETTY_FUNCTION__.5017 0000000000000000 r __PRETTY_FUNCTION__.5056 U __assert_fail U __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_handler U close U event_active U event_add U event_del U event_err U event_errx U event_set U 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_process U evutil_make_socket_nonblocking U evutil_socketpair U fcntl U free U malloc U memset U realloc U recv U send U sigaction U sigfillset 0000000000000008 b signals.4946 [root@Betty lib]#
[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 。
objtest.c:7: warning: missing sentinel in function call是因为在调用 execl( "/bin/sh", "/bin/sh", "-i", 0 ); 的时候,最后一个参数的格式不符合要求,应该改为 (char *)0 或者 (char *)NULL 。
[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-64 Disassembly of section .text: 00000000004004a0 <_start>: _start(): 4004a0: 31 ed xor %ebp,%ebp 4004a2: 49 89 d1 mov %rdx,%r9 4004a5: 5e pop %rsi 4004a6: 48 89 e2 mov %rsp,%rdx 4004a9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 4004ad: 50 push %rax 4004ae: 54 push %rsp 4004af: 49 c7 c0 b0 05 40 00 mov $0x4005b0,%r8 4004b6: 48 c7 c1 c0 05 40 00 mov $0x4005c0,%rcx 4004bd: 48 c7 c7 78 05 40 00 mov $0x400578,%rdi 4004c4: 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,%rsp 4004d0: 48 8b 05 89 04 20 00 mov 2098313(%rip),%rax # 600960 <_DYNAMIC+0x1c0> 4004d7: 48 85 c0 test %rax,%rax 4004da: 74 02 je 4004de <call_gmon_start+0x12> 4004dc: ff d0 callq *%rax 4004de: 48 83 c4 08 add $0x8,%rsp 4004e2: 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 %rbp 4004f1: 48 89 e5 mov %rsp,%rbp 4004f4: 53 push %rbx 4004f5: 48 83 ec 08 sub $0x8,%rsp 4004f9: 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,%eax 400507: 48 2d 88 07 60 00 sub $0x600788,%rax 40050d: 48 c1 f8 03 sar $0x3,%rax 400511: 48 8d 58 ff lea 0xffffffffffffffff(%rax),%rbx 400515: 48 8b 05 84 04 20 00 mov 2098308(%rip),%rax # 6009a0 <dtor_idx.6147> 40051c: 48 39 c3 cmp %rax,%rbx 40051f: 76 1e jbe 40053f <__do_global_dtors_aux+0x4f> 400521: 48 83 c0 01 add $0x1,%rax 400525: 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,%rbx 40053d: 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,%rsp 40054a: 5b pop %rbx 40054b: c9 leaveq 40054c: c3 retq 40054d: 0f 1f 00 nopl (%rax) 0000000000400550 <frame_dummy>: frame_dummy(): 400550: 55 push %rbp 400551: 48 83 3d 3f 02 20 00 cmpq $0x0,2097727(%rip) # 600798 <__JCR_END__> 400558: 00 400559: 48 89 e5 mov %rsp,%rbp 40055c: 74 16 je 400574 <frame_dummy+0x24> 40055e: b8 00 00 00 00 mov $0x0,%eax 400563: 48 85 c0 test %rax,%rax 400566: 74 0c je 400574 <frame_dummy+0x24> 400568: bf 98 07 60 00 mov $0x600798,%edi 40056d: 49 89 c3 mov %rax,%r11 400570: c9 leaveq 400571: 41 ff e3 jmpq *%r11 400574: 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 %rbp 400579: 48 89 e5 mov %rsp,%rbp 40057c: 48 83 ec 10 sub $0x10,%rsp 400580: 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,%ecx 40058c: ba a8 06 40 00 mov $0x4006a8,%edx 400591: be ab 06 40 00 mov $0x4006ab,%esi 400596: bf ab 06 40 00 mov $0x4006ab,%edi 40059b: b8 00 00 00 00 mov $0x0,%eax 4005a0: e8 c3 fe ff ff callq 400468 <execl@plt> /root/workstation/CODE_TEST/Cpp/objtest.c:8 return 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,%r14 4005de: 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,%rsp 4005ec: 41 89 ff mov %edi,%r15d 4005ef: 49 89 d5 mov %rdx,%r13 4005f2: 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,%r12 400601: 49 c1 fc 03 sar $0x3,%r12 400605: 4d 85 e4 test %r12,%r12 400608: 74 1e je 400628 <__libc_csu_init+0x68> 40060a: 31 ed xor %ebp,%ebp 40060c: 48 89 c3 mov %rax,%rbx 40060f: 90 nop 400610: 48 83 c5 01 add $0x1,%rbp 400614: 4c 89 ea mov %r13,%rdx 400617: 4c 89 f6 mov %r14,%rsi 40061a: 44 89 ff mov %r15d,%edi 40061d: ff 13 callq *(%rbx) 40061f: 48 83 c3 08 add $0x8,%rbx 400623: 49 39 ec cmp %rbp,%r12 400626: 75 e8 jne 400610 <__libc_csu_init+0x50> 400628: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 40062d: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 400632: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 400637: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 40063c: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 400641: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 400646: 48 83 c4 38 add $0x38,%rsp 40064a: 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 %rbp 400651: 48 89 e5 mov %rsp,%rbp 400654: 53 push %rbx 400655: bb 78 07 60 00 mov $0x600778,%ebx 40065a: 48 83 ec 08 sub $0x8,%rsp 40065e: 48 8b 05 13 01 20 00 mov 2097427(%rip),%rax # 600778 <__CTOR_LIST__> 400665: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 400669: 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,%rbx 400674: ff d0 callq *%rax 400676: 48 8b 03 mov (%rbx),%rax 400679: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 40067d: 75 f1 jne 400670 <__do_global_ctors_aux+0x20> 40067f: 48 83 c4 08 add $0x8,%rsp 400683: 5b pop %rbx 400684: 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-addresses objtest: file format elf64-x86-64 Disassembly 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:8 return 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 objtest objtest: file format elf64-x86-64 Disassembly of section .text: 00000000004004a0 <_start>: _start(): 4004a0: 31 ed xor %ebp,%ebp 4004a2: 49 89 d1 mov %rdx,%r9 4004a5: 5e pop %rsi 4004a6: 48 89 e2 mov %rsp,%rdx 4004a9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 4004ad: 50 push %rax 4004ae: 54 push %rsp 4004af: 49 c7 c0 b0 05 40 00 mov $0x4005b0,%r8 4004b6: 48 c7 c1 c0 05 40 00 mov $0x4005c0,%rcx 4004bd: 48 c7 c7 78 05 40 00 mov $0x400578,%rdi 4004c4: 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,%rsp 4004d0: 48 8b 05 89 04 20 00 mov 2098313(%rip),%rax # 600960 <_DYNAMIC+0x1c0> 4004d7: 48 85 c0 test %rax,%rax 4004da: 74 02 je 4004de <call_gmon_start+0x12> 4004dc: ff d0 callq *%rax 4004de: 48 83 c4 08 add $0x8,%rsp 4004e2: 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 %rbp 4004f1: 48 89 e5 mov %rsp,%rbp 4004f4: 53 push %rbx 4004f5: 48 83 ec 08 sub $0x8,%rsp 4004f9: 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,%eax 400507: 48 2d 88 07 60 00 sub $0x600788,%rax 40050d: 48 c1 f8 03 sar $0x3,%rax 400511: 48 8d 58 ff lea 0xffffffffffffffff(%rax),%rbx 400515: 48 8b 05 84 04 20 00 mov 2098308(%rip),%rax # 6009a0 <dtor_idx.6147> 40051c: 48 39 c3 cmp %rax,%rbx 40051f: 76 1e jbe 40053f <__do_global_dtors_aux+0x4f> 400521: 48 83 c0 01 add $0x1,%rax 400525: 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,%rbx 40053d: 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,%rsp 40054a: 5b pop %rbx 40054b: c9 leaveq 40054c: c3 retq 40054d: 0f 1f 00 nopl (%rax) 0000000000400550 <frame_dummy>: frame_dummy(): 400550: 55 push %rbp 400551: 48 83 3d 3f 02 20 00 cmpq $0x0,2097727(%rip) # 600798 <__JCR_END__> 400558: 00 400559: 48 89 e5 mov %rsp,%rbp 40055c: 74 16 je 400574 <frame_dummy+0x24> 40055e: b8 00 00 00 00 mov $0x0,%eax 400563: 48 85 c0 test %rax,%rax 400566: 74 0c je 400574 <frame_dummy+0x24> 400568: bf 98 07 60 00 mov $0x600798,%edi 40056d: 49 89 c3 mov %rax,%r11 400570: c9 leaveq 400571: 41 ff e3 jmpq *%r11 400574: c9 leaveq 400575: c3 retq 400576: 90 nop 400577: 90 nop 0000000000400578 <main>: main(): /root/workstation/CODE_TEST/Cpp/objtest.c:5 400578: 55 push %rbp 400579: 48 89 e5 mov %rsp,%rbp 40057c: 48 83 ec 10 sub $0x10,%rsp 400580: 89 7d fc mov %edi,0xfffffffffffffffc(%rbp) 400583: 48 89 75 f0 mov %rsi,0xfffffffffffffff0(%rbp) /root/workstation/CODE_TEST/Cpp/objtest.c:7 400587: b9 00 00 00 00 mov $0x0,%ecx 40058c: ba a8 06 40 00 mov $0x4006a8,%edx 400591: be ab 06 40 00 mov $0x4006ab,%esi 400596: bf ab 06 40 00 mov $0x4006ab,%edi 40059b: b8 00 00 00 00 mov $0x0,%eax 4005a0: e8 c3 fe ff ff callq 400468 <execl@plt> /root/workstation/CODE_TEST/Cpp/objtest.c:8 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,%r14 4005de: 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,%rsp 4005ec: 41 89 ff mov %edi,%r15d 4005ef: 49 89 d5 mov %rdx,%r13 4005f2: 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,%r12 400601: 49 c1 fc 03 sar $0x3,%r12 400605: 4d 85 e4 test %r12,%r12 400608: 74 1e je 400628 <__libc_csu_init+0x68> 40060a: 31 ed xor %ebp,%ebp 40060c: 48 89 c3 mov %rax,%rbx 40060f: 90 nop 400610: 48 83 c5 01 add $0x1,%rbp 400614: 4c 89 ea mov %r13,%rdx 400617: 4c 89 f6 mov %r14,%rsi 40061a: 44 89 ff mov %r15d,%edi 40061d: ff 13 callq *(%rbx) 40061f: 48 83 c3 08 add $0x8,%rbx 400623: 49 39 ec cmp %rbp,%r12 400626: 75 e8 jne 400610 <__libc_csu_init+0x50> 400628: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 40062d: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 400632: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 400637: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 40063c: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 400641: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 400646: 48 83 c4 38 add $0x38,%rsp 40064a: 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 %rbp 400651: 48 89 e5 mov %rsp,%rbp 400654: 53 push %rbx 400655: bb 78 07 60 00 mov $0x600778,%ebx 40065a: 48 83 ec 08 sub $0x8,%rsp 40065e: 48 8b 05 13 01 20 00 mov 2097427(%rip),%rax # 600778 <__CTOR_LIST__> 400665: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 400669: 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,%rbx 400674: ff d0 callq *%rax 400676: 48 8b 03 mov (%rbx),%rax 400679: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 40067d: 75 f1 jne 400670 <__do_global_ctors_aux+0x20> 40067f: 48 83 c4 08 add $0x8,%rsp 400683: 5b pop %rbx 400684: 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-64 Disassembly of section .text: 00000000004004a0 <_start>: 4004a0: 31 ed xor %ebp,%ebp 4004a2: 49 89 d1 mov %rdx,%r9 4004a5: 5e pop %rsi 4004a6: 48 89 e2 mov %rsp,%rdx 4004a9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 4004ad: 50 push %rax 4004ae: 54 push %rsp 4004af: 49 c7 c0 b0 05 40 00 mov $0x4005b0,%r8 4004b6: 48 c7 c1 c0 05 40 00 mov $0x4005c0,%rcx 4004bd: 48 c7 c7 78 05 40 00 mov $0x400578,%rdi 4004c4: 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,%rsp 4004d0: 48 8b 05 89 04 20 00 mov 2098313(%rip),%rax # 600960 <_DYNAMIC+0x1c0> 4004d7: 48 85 c0 test %rax,%rax 4004da: 74 02 je 4004de <call_gmon_start+0x12> 4004dc: ff d0 callq *%rax 4004de: 48 83 c4 08 add $0x8,%rsp 4004e2: 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 %rbp 4004f1: 48 89 e5 mov %rsp,%rbp 4004f4: 53 push %rbx 4004f5: 48 83 ec 08 sub $0x8,%rsp 4004f9: 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,%eax 400507: 48 2d 88 07 60 00 sub $0x600788,%rax 40050d: 48 c1 f8 03 sar $0x3,%rax 400511: 48 8d 58 ff lea 0xffffffffffffffff(%rax),%rbx 400515: 48 8b 05 84 04 20 00 mov 2098308(%rip),%rax # 6009a0 <dtor_idx.6147> 40051c: 48 39 c3 cmp %rax,%rbx 40051f: 76 1e jbe 40053f <__do_global_dtors_aux+0x4f> 400521: 48 83 c0 01 add $0x1,%rax 400525: 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,%rbx 40053d: 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,%rsp 40054a: 5b pop %rbx 40054b: c9 leaveq 40054c: c3 retq 40054d: 0f 1f 00 nopl (%rax) 0000000000400550 <frame_dummy>: 400550: 55 push %rbp 400551: 48 83 3d 3f 02 20 00 cmpq $0x0,2097727(%rip) # 600798 <__JCR_END__> 400558: 00 400559: 48 89 e5 mov %rsp,%rbp 40055c: 74 16 je 400574 <frame_dummy+0x24> 40055e: b8 00 00 00 00 mov $0x0,%eax 400563: 48 85 c0 test %rax,%rax 400566: 74 0c je 400574 <frame_dummy+0x24> 400568: bf 98 07 60 00 mov $0x600798,%edi 40056d: 49 89 c3 mov %rax,%r11 400570: c9 leaveq 400571: 41 ff e3 jmpq *%r11 400574: 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 %rbp 400579: 48 89 e5 mov %rsp,%rbp 40057c: 48 83 ec 10 sub $0x10,%rsp 400580: 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,%ecx 40058c: ba a8 06 40 00 mov $0x4006a8,%edx 400591: be ab 06 40 00 mov $0x4006ab,%esi 400596: bf ab 06 40 00 mov $0x4006ab,%edi 40059b: b8 00 00 00 00 mov $0x0,%eax 4005a0: 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,%r14 4005de: 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,%rsp 4005ec: 41 89 ff mov %edi,%r15d 4005ef: 49 89 d5 mov %rdx,%r13 4005f2: 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,%r12 400601: 49 c1 fc 03 sar $0x3,%r12 400605: 4d 85 e4 test %r12,%r12 400608: 74 1e je 400628 <__libc_csu_init+0x68> 40060a: 31 ed xor %ebp,%ebp 40060c: 48 89 c3 mov %rax,%rbx 40060f: 90 nop 400610: 48 83 c5 01 add $0x1,%rbp 400614: 4c 89 ea mov %r13,%rdx 400617: 4c 89 f6 mov %r14,%rsi 40061a: 44 89 ff mov %r15d,%edi 40061d: ff 13 callq *(%rbx) 40061f: 48 83 c3 08 add $0x8,%rbx 400623: 49 39 ec cmp %rbp,%r12 400626: 75 e8 jne 400610 <__libc_csu_init+0x50> 400628: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 40062d: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 400632: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 400637: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 40063c: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 400641: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 400646: 48 83 c4 38 add $0x38,%rsp 40064a: 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 %rbp 400651: 48 89 e5 mov %rsp,%rbp 400654: 53 push %rbx 400655: bb 78 07 60 00 mov $0x600778,%ebx 40065a: 48 83 ec 08 sub $0x8,%rsp 40065e: 48 8b 05 13 01 20 00 mov 2097427(%rip),%rax # 600778 <__CTOR_LIST__> 400665: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 400669: 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,%rbx 400674: ff d0 callq *%rax 400676: 48 8b 03 mov (%rbx),%rax 400679: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 40067d: 75 f1 jne 400670 <__do_global_ctors_aux+0x20> 40067f: 48 83 c4 08 add $0x8,%rsp 400683: 5b pop %rbx 400684: c9 leaveq 400685: c3 retq 400686: 90 nop 400687: 90 nop [root@Betty Cpp]#
[root@Betty Cpp]# [root@Betty Cpp]# g++ -O3 -o objtest objtest.c [root@Betty Cpp]# [root@Betty Cpp]# objdump -j .text -S objtest objtest: file format elf64-x86-64 Disassembly of section .text: 00000000004004a0 <_start>: 4004a0: 31 ed xor %ebp,%ebp 4004a2: 49 89 d1 mov %rdx,%r9 4004a5: 5e pop %rsi 4004a6: 48 89 e2 mov %rsp,%rdx 4004a9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 4004ad: 50 push %rax 4004ae: 54 push %rsp 4004af: 49 c7 c0 b0 05 40 00 mov $0x4005b0,%r8 4004b6: 48 c7 c1 c0 05 40 00 mov $0x4005c0,%rcx 4004bd: 48 c7 c7 80 05 40 00 mov $0x400580,%rdi 4004c4: 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,%rsp 4004d0: 48 8b 05 81 04 20 00 mov 2098305(%rip),%rax # 600958 <_DYNAMIC+0x1c0> 4004d7: 48 85 c0 test %rax,%rax 4004da: 74 02 je 4004de <call_gmon_start+0x12> 4004dc: ff d0 callq *%rax 4004de: 48 83 c4 08 add $0x8,%rsp 4004e2: 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 %rbp 4004f1: 48 89 e5 mov %rsp,%rbp 4004f4: 53 push %rbx 4004f5: 48 83 ec 08 sub $0x8,%rsp 4004f9: 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,%eax 400507: 48 2d 80 07 60 00 sub $0x600780,%rax 40050d: 48 c1 f8 03 sar $0x3,%rax 400511: 48 8d 58 ff lea 0xffffffffffffffff(%rax),%rbx 400515: 48 8b 05 7c 04 20 00 mov 2098300(%rip),%rax # 600998 <dtor_idx.6147> 40051c: 48 39 c3 cmp %rax,%rbx 40051f: 76 1e jbe 40053f <__do_global_dtors_aux+0x4f> 400521: 48 83 c0 01 add $0x1,%rax 400525: 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,%rbx 40053d: 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,%rsp 40054a: 5b pop %rbx 40054b: c9 leaveq 40054c: c3 retq 40054d: 0f 1f 00 nopl (%rax) 0000000000400550 <frame_dummy>: 400550: 55 push %rbp 400551: 48 83 3d 37 02 20 00 cmpq $0x0,2097719(%rip) # 600790 <__JCR_END__> 400558: 00 400559: 48 89 e5 mov %rsp,%rbp 40055c: 74 16 je 400574 <frame_dummy+0x24> 40055e: b8 00 00 00 00 mov $0x0,%eax 400563: 48 85 c0 test %rax,%rax 400566: 74 0c je 400574 <frame_dummy+0x24> 400568: bf 90 07 60 00 mov $0x600790,%edi 40056d: 49 89 c3 mov %rax,%r11 400570: c9 leaveq 400571: 41 ff e3 jmpq *%r11 400574: 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,%esi 400585: 48 83 ec 08 sub $0x8,%rsp 400589: 31 c9 xor %ecx,%ecx 40058b: ba a8 06 40 00 mov $0x4006a8,%edx 400590: 48 89 f7 mov %rsi,%rdi 400593: 31 c0 xor %eax,%eax 400595: e8 ce fe ff ff callq 400468 <execl@plt> 40059a: 31 c0 xor %eax,%eax 40059c: 48 83 c4 08 add $0x8,%rsp 4005a0: 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,%r14 4005de: 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,%rsp 4005ec: 41 89 ff mov %edi,%r15d 4005ef: 49 89 d5 mov %rdx,%r13 4005f2: 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,%r12 400601: 49 c1 fc 03 sar $0x3,%r12 400605: 4d 85 e4 test %r12,%r12 400608: 74 1e je 400628 <__libc_csu_init+0x68> 40060a: 31 ed xor %ebp,%ebp 40060c: 48 89 c3 mov %rax,%rbx 40060f: 90 nop 400610: 48 83 c5 01 add $0x1,%rbp 400614: 4c 89 ea mov %r13,%rdx 400617: 4c 89 f6 mov %r14,%rsi 40061a: 44 89 ff mov %r15d,%edi 40061d: ff 13 callq *(%rbx) 40061f: 48 83 c3 08 add $0x8,%rbx 400623: 49 39 ec cmp %rbp,%r12 400626: 75 e8 jne 400610 <__libc_csu_init+0x50> 400628: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 40062d: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 400632: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 400637: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 40063c: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 400641: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 400646: 48 83 c4 38 add $0x38,%rsp 40064a: 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 %rbp 400651: 48 89 e5 mov %rsp,%rbp 400654: 53 push %rbx 400655: bb 70 07 60 00 mov $0x600770,%ebx 40065a: 48 83 ec 08 sub $0x8,%rsp 40065e: 48 8b 05 0b 01 20 00 mov 2097419(%rip),%rax # 600770 <__CTOR_LIST__> 400665: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 400669: 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,%rbx 400674: ff d0 callq *%rax 400676: 48 8b 03 mov (%rbx),%rax 400679: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 40067d: 75 f1 jne 400670 <__do_global_ctors_aux+0x20> 40067f: 48 83 c4 08 add $0x8,%rsp 400683: 5b pop %rbx 400684: c9 leaveq 400685: c3 retq 400686: 90 nop 400687: 90 nop [root@Betty Cpp]#
[root@Betty Cpp]# objdump -j .text -Sl objtest objtest: file format elf64-x86-64 Disassembly of section .text: 00000000004004a0 <_start>: _start(): 4004a0: 31 ed xor %ebp,%ebp 4004a2: 49 89 d1 mov %rdx,%r9 4004a5: 5e pop %rsi 4004a6: 48 89 e2 mov %rsp,%rdx 4004a9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 4004ad: 50 push %rax 4004ae: 54 push %rsp 4004af: 49 c7 c0 b0 05 40 00 mov $0x4005b0,%r8 4004b6: 48 c7 c1 c0 05 40 00 mov $0x4005c0,%rcx 4004bd: 48 c7 c7 80 05 40 00 mov $0x400580,%rdi 4004c4: 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,%rsp 4004d0: 48 8b 05 81 04 20 00 mov 2098305(%rip),%rax # 600958 <_DYNAMIC+0x1c0> 4004d7: 48 85 c0 test %rax,%rax 4004da: 74 02 je 4004de <call_gmon_start+0x12> 4004dc: ff d0 callq *%rax 4004de: 48 83 c4 08 add $0x8,%rsp 4004e2: 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 %rbp 4004f1: 48 89 e5 mov %rsp,%rbp 4004f4: 53 push %rbx 4004f5: 48 83 ec 08 sub $0x8,%rsp 4004f9: 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,%eax 400507: 48 2d 80 07 60 00 sub $0x600780,%rax 40050d: 48 c1 f8 03 sar $0x3,%rax 400511: 48 8d 58 ff lea 0xffffffffffffffff(%rax),%rbx 400515: 48 8b 05 7c 04 20 00 mov 2098300(%rip),%rax # 600998 <dtor_idx.6147> 40051c: 48 39 c3 cmp %rax,%rbx 40051f: 76 1e jbe 40053f <__do_global_dtors_aux+0x4f> 400521: 48 83 c0 01 add $0x1,%rax 400525: 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,%rbx 40053d: 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,%rsp 40054a: 5b pop %rbx 40054b: c9 leaveq 40054c: c3 retq 40054d: 0f 1f 00 nopl (%rax) 0000000000400550 <frame_dummy>: frame_dummy(): 400550: 55 push %rbp 400551: 48 83 3d 37 02 20 00 cmpq $0x0,2097719(%rip) # 600790 <__JCR_END__> 400558: 00 400559: 48 89 e5 mov %rsp,%rbp 40055c: 74 16 je 400574 <frame_dummy+0x24> 40055e: b8 00 00 00 00 mov $0x0,%eax 400563: 48 85 c0 test %rax,%rax 400566: 74 0c je 400574 <frame_dummy+0x24> 400568: bf 90 07 60 00 mov $0x600790,%edi 40056d: 49 89 c3 mov %rax,%r11 400570: c9 leaveq 400571: 41 ff e3 jmpq *%r11 400574: 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,%esi 400585: 48 83 ec 08 sub $0x8,%rsp 400589: 31 c9 xor %ecx,%ecx 40058b: ba a8 06 40 00 mov $0x4006a8,%edx 400590: 48 89 f7 mov %rsi,%rdi 400593: 31 c0 xor %eax,%eax 400595: e8 ce fe ff ff callq 400468 <execl@plt> 40059a: 31 c0 xor %eax,%eax 40059c: 48 83 c4 08 add $0x8,%rsp 4005a0: 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,%r14 4005de: 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,%rsp 4005ec: 41 89 ff mov %edi,%r15d 4005ef: 49 89 d5 mov %rdx,%r13 4005f2: 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,%r12 400601: 49 c1 fc 03 sar $0x3,%r12 400605: 4d 85 e4 test %r12,%r12 400608: 74 1e je 400628 <__libc_csu_init+0x68> 40060a: 31 ed xor %ebp,%ebp 40060c: 48 89 c3 mov %rax,%rbx 40060f: 90 nop 400610: 48 83 c5 01 add $0x1,%rbp 400614: 4c 89 ea mov %r13,%rdx 400617: 4c 89 f6 mov %r14,%rsi 40061a: 44 89 ff mov %r15d,%edi 40061d: ff 13 callq *(%rbx) 40061f: 48 83 c3 08 add $0x8,%rbx 400623: 49 39 ec cmp %rbp,%r12 400626: 75 e8 jne 400610 <__libc_csu_init+0x50> 400628: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 40062d: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 400632: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 400637: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 40063c: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 400641: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 400646: 48 83 c4 38 add $0x38,%rsp 40064a: 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 %rbp 400651: 48 89 e5 mov %rsp,%rbp 400654: 53 push %rbx 400655: bb 70 07 60 00 mov $0x600770,%ebx 40065a: 48 83 ec 08 sub $0x8,%rsp 40065e: 48 8b 05 0b 01 20 00 mov 2097419(%rip),%rax # 600770 <__CTOR_LIST__> 400665: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 400669: 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,%rbx 400674: ff d0 callq *%rax 400676: 48 8b 03 mov (%rbx),%rax 400679: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 40067d: 75 f1 jne 400670 <__do_global_ctors_aux+0x20> 40067f: 48 83 c4 08 add $0x8,%rsp 400683: 5b pop %rbx 400684: c9 leaveq 400685: c3 retq 400686: 90 nop 400687: 90 nop [root@Betty Cpp]#