-
-
Save shekkbuilder/f04f08e04f2098760bb7671e48ea181e to your computer and use it in GitHub Desktop.
Revisions
-
dutc revised this gist
May 1, 2014 . 1 changed file with 262 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -101,7 +101,6 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c; 0000000000461445 T PySequence_Count /tmp/Python-3.4.0rc1/Objects/abstract.c:1866 0000000000460823 T PySequence_DelItem /tmp/Python-3.4.0rc1/Objects/abstract.c:1571 $ objdump -d python3.4 python3.4: file format elf64-x86-64 @@ -215,3 +214,265 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c; 45eb3f: 48 8b 45 e0 mov -0x20(%rbp),%rax 45eb43: c9 leaveq 45eb44: c3 retq $ readelf -all python3.4 ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Advanced Micro Devices X86-64 Version: 0x1 Entry point address: 0x41a9d0 Start of program headers: 64 (bytes into file) Start of section headers: 6131376 (bytes into file) Flags: 0x0 Size of this header: 64 (bytes) Size of program headers: 56 (bytes) Number of program headers: 9 Size of section headers: 64 (bytes) Number of section headers: 38 Section header string table index: 35 Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0] NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 1] .interp PROGBITS 0000000000400238 00000238 000000000000001c 0000000000000000 A 0 0 1 [ 2] .note.ABI-tag NOTE 0000000000400254 00000254 0000000000000020 0000000000000000 A 0 0 4 [ 3] .note.gnu.build-i NOTE 0000000000400274 00000274 0000000000000024 0000000000000000 A 0 0 4 [ 4] .gnu.hash GNU_HASH 0000000000400298 00000298 00000000000030b8 0000000000000000 A 5 0 8 [ 5] .dynsym DYNSYM 0000000000403350 00003350 000000000000b1a8 0000000000000018 A 6 1 8 [ 6] .dynstr STRTAB 000000000040e4f8 0000e4f8 0000000000008172 0000000000000000 A 0 0 1 [ 7] .gnu.version VERSYM 000000000041666a 0001666a 0000000000000ece 0000000000000002 A 5 0 2 [ 8] .gnu.version_r VERNEED 0000000000417538 00017538 0000000000000130 0000000000000000 A 6 5 8 [ 9] .rela.dyn RELA 0000000000417668 00017668 0000000000000078 0000000000000018 A 5 0 8 [10] .rela.plt RELA 00000000004176e0 000176e0 0000000000001e78 0000000000000018 A 5 12 8 [11] .init PROGBITS 0000000000419558 00019558 000000000000000e 0000000000000000 AX 0 0 4 [12] .plt PROGBITS 0000000000419570 00019570 0000000000001460 0000000000000010 AX 0 0 16 [13] .text PROGBITS 000000000041a9d0 0001a9d0 000000000024da34 0000000000000000 AX 0 0 16 [14] .fini PROGBITS 0000000000668404 00268404 0000000000000009 0000000000000000 AX 0 0 4 [15] .rodata PROGBITS 0000000000668420 00268420 000000000006258f 0000000000000000 A 0 0 32 [16] .eh_frame_hdr PROGBITS 00000000006ca9b0 002ca9b0 00000000000094e4 0000000000000000 A 0 0 4 [17] .eh_frame PROGBITS 00000000006d3e98 002d3e98 0000000000025aec 0000000000000000 A 0 0 8 [18] .init_array INIT_ARRAY 00000000008f9dd0 002f9dd0 0000000000000008 0000000000000000 WA 0 0 8 [19] .fini_array FINI_ARRAY 00000000008f9dd8 002f9dd8 0000000000000008 0000000000000000 WA 0 0 8 [20] .jcr PROGBITS 00000000008f9de0 002f9de0 0000000000000008 0000000000000000 WA 0 0 8 [21] .dynamic DYNAMIC 00000000008f9de8 002f9de8 0000000000000210 0000000000000010 WA 6 0 8 [22] .got PROGBITS 00000000008f9ff8 002f9ff8 0000000000000008 0000000000000008 WA 0 0 8 [23] .got.plt PROGBITS 00000000008fa000 002fa000 0000000000000a40 0000000000000008 WA 0 0 8 [24] .data PROGBITS 00000000008faa40 002faa40 0000000000069390 0000000000000000 WA 0 0 32 [25] .bss NOBITS 0000000000963de0 00363dd0 000000000001c2e0 0000000000000000 WA 0 0 32 [26] .comment PROGBITS 0000000000000000 00363dd0 000000000000006b 0000000000000001 MS 0 0 1 [27] .debug_aranges PROGBITS 0000000000000000 00363e3b 0000000000001700 0000000000000000 0 0 1 [28] .debug_info PROGBITS 0000000000000000 0036553b 00000000000f4563 0000000000000000 0 0 1 [29] .debug_abbrev PROGBITS 0000000000000000 00459a9e 0000000000015b78 0000000000000000 0 0 1 [30] .debug_line PROGBITS 0000000000000000 0046f616 00000000000b0554 0000000000000000 0 0 1 [31] .debug_str PROGBITS 0000000000000000 0051fb6a 00000000000598ae 0000000000000001 MS 0 0 1 [32] .debug_ranges PROGBITS 0000000000000000 00579418 0000000000009590 0000000000000000 0 0 1 [33] .debug_macro PROGBITS 0000000000000000 005829a8 00000000000470be 0000000000000000 0 0 1 [34] .debug_types PROGBITS 0000000000000000 005c9a66 000000000000f2d8 0000000000000000 0 0 1 [35] .shstrtab STRTAB 0000000000000000 005d8d3e 0000000000000170 0000000000000000 0 0 1 [36] .symtab SYMTAB 0000000000000000 005d9830 0000000000035fe8 0000000000000018 37 7322 8 [37] .strtab STRTAB 0000000000000000 0060f818 0000000000025576 0000000000000000 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings), l (large) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific) There are no section groups in this file. Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align PHDR 0x0000000000000040 0x0000000000400040 0x0000000000400040 0x00000000000001f8 0x00000000000001f8 R E 8 INTERP 0x0000000000000238 0x0000000000400238 0x0000000000400238 0x000000000000001c 0x000000000000001c R 1 [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2] LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000 0x00000000002f9984 0x00000000002f9984 R E 200000 LOAD 0x00000000002f9dd0 0x00000000008f9dd0 0x00000000008f9dd0 0x000000000006a000 0x00000000000862f0 RW 200000 DYNAMIC 0x00000000002f9de8 0x00000000008f9de8 0x00000000008f9de8 0x0000000000000210 0x0000000000000210 RW 8 NOTE 0x0000000000000254 0x0000000000400254 0x0000000000400254 0x0000000000000044 0x0000000000000044 R 4 GNU_EH_FRAME 0x00000000002ca9b0 0x00000000006ca9b0 0x00000000006ca9b0 0x00000000000094e4 0x00000000000094e4 R 4 GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 8 GNU_RELRO 0x00000000002f9dd0 0x00000000008f9dd0 0x00000000008f9dd0 0x0000000000000230 0x0000000000000230 R 1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame 03 .init_array .fini_array .jcr .dynamic .got .got.plt .data .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 .eh_frame_hdr 07 08 .init_array .fini_array .jcr .dynamic .got Dynamic section at offset 0x2f9de8 contains 28 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 0x0000000000000001 (NEEDED) Shared library: [libutil.so.1] 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x419558 0x000000000000000d (FINI) 0x668404 0x0000000000000019 (INIT_ARRAY) 0x8f9dd0 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x8f9dd8 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x400298 0x0000000000000005 (STRTAB) 0x40e4f8 0x0000000000000006 (SYMTAB) 0x403350 0x000000000000000a (STRSZ) 33138 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x8fa000 0x0000000000000002 (PLTRELSZ) 7800 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x4176e0 0x0000000000000007 (RELA) 0x417668 0x0000000000000008 (RELASZ) 120 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x000000006ffffffe (VERNEED) 0x417538 0x000000006fffffff (VERNEEDNUM) 5 0x000000006ffffff0 (VERSYM) 0x41666a 0x0000000000000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x17668 contains 5 entries: Offset Info Type Sym. Value Sym. Name + Addend 0000008f9ff8 009a00000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 000000963de0 059b00000005 R_X86_64_COPY 0000000000963de0 stdout + 0 000000963de8 02aa00000005 R_X86_64_COPY 0000000000963de8 stdin + 0 000000963df0 015400000005 R_X86_64_COPY 0000000000963df0 __environ + 0 000000963df8 018e00000005 R_X86_64_COPY 0000000000963df8 stderr + 0 Relocation section '.rela.plt' at offset 0x176e0 contains 325 entries: Offset Info Type Sym. Value Sym. Name + Addend 0000008fa018 000100000007 R_X86_64_JUMP_SLO 0000000000000000 wcscat + 0 0000008fa020 000200000007 R_X86_64_JUMP_SLO 0000000000000000 getenv + 0 0000008fa028 000300000007 R_X86_64_JUMP_SLO 0000000000000000 raise + 0 0000008fa030 000400000007 R_X86_64_JUMP_SLO 0000000000000000 mkfifoat + 0 0000008fa038 067700000007 R_X86_64_JUMP_SLO 00000000004195c0 free + 0 0000008fa040 000500000007 R_X86_64_JUMP_SLO 0000000000000000 wcscmp + 0 0000008fa048 000600000007 R_X86_64_JUMP_SLO 0000000000000000 utimensat + 0 0000008fa050 000700000007 R_X86_64_JUMP_SLO 0000000000000000 putchar + 0 0000008fa058 000800000007 R_X86_64_JUMP_SLO 0000000000000000 pthread_create + 0 0000008fa060 000900000007 R_X86_64_JUMP_SLO 0000000000000000 pthread_sigmask + 0 0000008fa068 000a00000007 R_X86_64_JUMP_SLO 0000000000000000 funlockfile + 0 0000008fa070 000b00000007 R_X86_64_JUMP_SLO 0000000000000000 pthread_detach + 0 0000008fa078 000c00000007 R_X86_64_JUMP_SLO 0000000000000000 sched_getscheduler + 0 0000008fa080 000d00000007 R_X86_64_JUMP_SLO 0000000000000000 abort + 0 0000008fa088 000e00000007 R_X86_64_JUMP_SLO 0000000000000000 __errno_location + 0 0000008fa090 048600000007 R_X86_64_JUMP_SLO 0000000000419670 fdatasync + 0 0000008fa098 000f00000007 R_X86_64_JUMP_SLO 0000000000000000 ldexp + 0 0000008fa0a0 001000000007 R_X86_64_JUMP_SLO 0000000000000000 unlink + 0 0000008fa0a8 001100000007 R_X86_64_JUMP_SLO 0000000000000000 round + 0 0000008fa0b0 001200000007 R_X86_64_JUMP_SLO 0000000000000000 strncpy + 0 0000008fa0b8 001300000007 R_X86_64_JUMP_SLO 0000000000000000 getpriority + 0 0000008fa0c0 001400000007 R_X86_64_JUMP_SLO 0000000000000000 strncmp + 0 0000008fa0c8 001600000007 R_X86_64_JUMP_SLO 0000000000000000 _exit + 0 0000008fa0d0 001700000007 R_X86_64_JUMP_SLO 0000000000000000 wcscoll + 0 0000008fa0d8 001800000007 R_X86_64_JUMP_SLO 0000000000000000 strcpy + 0 0000008fa0e0 02af00000007 R_X86_64_JUMP_SLO 0000000000419710 chroot + 0 0000008fa0e8 001900000007 R_X86_64_JUMP_SLO 0000000000000000 getresgid + 0 0000008fa0f0 001a00000007 R_X86_64_JUMP_SLO 0000000000000000 mkdir + 0 0000008fa0f8 001b00000007 R_X86_64_JUMP_SLO 0000000000000000 flistxattr + 0 0000008fa100 001c00000007 R_X86_64_JUMP_SLO 0000000000000000 writev + 0 0000008fa108 001d00000007 R_X86_64_JUMP_SLO 0000000000000000 unlinkat + 0 0000008fa110 001e00000007 R_X86_64_JUMP_SLO 0000000000000000 puts + 0 0000008fa118 001f00000007 R_X86_64_JUMP_SLO 0000000000000000 ferror + 0 0000008fa120 002000000007 R_X86_64_JUMP_SLO 0000000000000000 getc_unlocked + 0 0000008fa128 002100000007 R_X86_64_JUMP_SLO 0000000000000000 qsort + 0 0000008fa130 002200000007 R_X86_64_JUMP_SLO 0000000000000000 isatty + 0 0000008fa138 002300000007 R_X86_64_JUMP_SLO 0000000000000000 __isnan + 0 0000008fa140 002400000007 R_X86_64_JUMP_SLO 0000000000000000 sigaction + 0 0000008fa148 002500000007 R_X86_64_JUMP_SLO 0000000000000000 fread + 0 0000008fa150 002600000007 R_X86_64_JUMP_SLO 0000000000000000 __finite + 0 0000008fa158 002700000007 R_X86_64_JUMP_SLO 0000000000000000 fsetxattr + 0 0000008fa160 002800000007 R_X86_64_JUMP_SLO 0000000000000000 vsnprintf + 0 0000008fa168 002900000007 R_X86_64_JUMP_SLO 0000000000000000 exp + 0 0000008fa170 002a00000007 R_X86_64_JUMP_SLO 0000000000000000 localeconv + 0 0000008fa178 002b00000007 R_X86_64_JUMP_SLO 0000000000000000 llistxattr + 0 0000008fa180 002c00000007 R_X86_64_JUMP_SLO 0000000000000000 faccessat + 0 0000008fa188 002d00000007 R_X86_64_JUMP_SLO 0000000000000000 mbstowcs + 0 0000008fa190 002e00000007 R_X86_64_JUMP_SLO 0000000000000000 readlink + 0 0000008fa198 002f00000007 R_X86_64_JUMP_SLO 0000000000000000 fcntl + 0 0000008fa1a0 003000000007 R_X86_64_JUMP_SLO 0000000000000000 wcsncat + 0 0000008fa1a8 003100000007 R_X86_64_JUMP_SLO 0000000000000000 write + 0 0000008fa1b0 003200000007 R_X86_64_JUMP_SLO 0000000000000000 getpid + 0 0000008fa1b8 003300000007 R_X86_64_JUMP_SLO 0000000000000000 textdomain + 0 0000008fa1c0 003400000007 R_X86_64_JUMP_SLO 0000000000000000 pthread_kill + 0 0000008fa1c8 003500000007 R_X86_64_JUMP_SLO 0000000000000000 setresuid + 0 0000008fa1d0 003600000007 R_X86_64_JUMP_SLO 0000000000000000 dup3 + 0 0000008fa1d8 003700000007 R_X86_64_JUMP_SLO 0000000000000000 pthread_cond_wait + 0 0000008fa1e0 003800000007 R_X86_64_JUMP_SLO 0000000000000000 fremovexattr + 0 0000008fa1e8 003900000007 R_X86_64_JUMP_SLO 0000000000000000 pathconf + 0 0000008fa1f0 003a00000007 R_X86_64_JUMP_SLO 0000000000000000 clock + 0 0000008fa1f8 003b00000007 R_X86_64_JUMP_SLO 0000000000000000 wcsrchr + 0 0000008fa200 003c00000007 R_X86_64_JUMP_SLO 0000000000000000 fclose + 0 0000008fa208 003d00000007 R_X86_64_JUMP_SLO 0000000000000000 lgetxattr + 0 0000008fa210 003e00000007 R_X86_64_JUMP_SLO 0000000000000000 __sched_cpucount + 0 0000008fa218 003f00000007 R_X86_64_JUMP_SLO 0000000000000000 __xstat64 + 0 0000008fa220 004000000007 R_X86_64_JUMP_SLO 0000000000000000 wait3 + 0 0000008fa228 004100000007 R_X86_64_JUMP_SLO 0000000000000000 opendir + 0 0000008fa230 004200000007 R_X86_64_JUMP_SLO 0000000000000000 getloadavg + 0 0000008fa238 004300000007 R_X86_64_JUMP_SLO 0000000000000000 getpwuid + 0 0000008fa240 004400000007 R_X86_64_JUMP_SLO 0000000000000000 bindtextdomain + 0 0000008fa248 004500000007 R_X86_64_JUMP_SLO 0000000000000000 listxattr + 0 0000008fa250 004600000007 R_X86_64_JUMP_SLO 0000000000000000 rmdir + 0 0000008fa258 004700000007 R_X86_64_JUMP_SLO 0000000000000000 dcgettext + 0 0000008fa260 004800000007 R_X86_64_JUMP_SLO 0000000000000000 strlen + 0 0000008fa268 004900000007 R_X86_64_JUMP_SLO 0000000000000000 chdir + 0 0000008fa270 004a00000007 R_X86_64_JUMP_SLO 0000000000000000 __stack_chk_fail + 0 0000008fa278 004b00000007 R_X86_64_JUMP_SLO 0000000000000000 getuid + 0 -
dutc revised this gist
May 1, 2014 . 1 changed file with 114 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -101,3 +101,117 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c; 0000000000461445 T PySequence_Count /tmp/Python-3.4.0rc1/Objects/abstract.c:1866 0000000000460823 T PySequence_DelItem /tmp/Python-3.4.0rc1/Objects/abstract.c:1571 $ objdump -d python3.4 python3.4: file format elf64-x86-64 Disassembly of section .init: 0000000000419558 <_init>: 419558: 48 83 ec 08 sub $0x8,%rsp 41955c: e8 9b 14 00 00 callq 41a9fc <call_gmon_start> 419561: 48 83 c4 08 add $0x8,%rsp 419565: c3 retq Disassembly of section .plt: 0000000000419570 <wcscat@plt-0x10>: 419570: ff 35 92 0a 4e 00 pushq 0x4e0a92(%rip) # 8fa008 <_GLOBAL_OFFSET_TABLE_+0x8> 419576: ff 25 94 0a 4e 00 jmpq *0x4e0a94(%rip) # 8fa010 <_GLOBAL_OFFSET_TABLE_+0x10> 41957c: 0f 1f 40 00 nopl 0x0(%rax) 0000000000419580 <wcscat@plt>: 419580: ff 25 92 0a 4e 00 jmpq *0x4e0a92(%rip) # 8fa018 <_GLOBAL_OFFSET_TABLE_+0x18> 419586: 68 00 00 00 00 pushq $0x0 41958b: e9 e0 ff ff ff jmpq 419570 <_init+0x18> 000000000045e9fb <PyNumber_Multiply>: 45e9fb: 55 push %rbp 45e9fc: 48 89 e5 mov %rsp,%rbp 45e9ff: 48 83 ec 30 sub $0x30,%rsp 45ea03: 48 89 7d d8 mov %rdi,-0x28(%rbp) 45ea07: 48 89 75 d0 mov %rsi,-0x30(%rbp) 45ea0b: 48 8b 4d d0 mov -0x30(%rbp),%rcx 45ea0f: 48 8b 45 d8 mov -0x28(%rbp),%rax 45ea13: ba 10 00 00 00 mov $0x10,%edx 45ea18: 48 89 ce mov %rcx,%rsi 45ea1b: 48 89 c7 mov %rax,%rdi 45ea1e: e8 c6 f4 ff ff callq 45dee9 <binary_op1> 45ea23: 48 89 45 e0 mov %rax,-0x20(%rbp) 45ea27: 48 81 7d e0 e0 01 92 cmpq $0x9201e0,-0x20(%rbp) 45ea2e: 00 45ea2f: 0f 85 0a 01 00 00 jne 45eb3f <PyNumber_Multiply+0x144> 45ea35: 48 8b 45 d8 mov -0x28(%rbp),%rax 45ea39: 48 8b 40 18 mov 0x18(%rax),%rax 45ea3d: 48 8b 40 78 mov 0x78(%rax),%rax 45ea41: 48 89 45 e8 mov %rax,-0x18(%rbp) 45ea45: 48 8b 45 d0 mov -0x30(%rbp),%rax 45ea49: 48 8b 40 18 mov 0x18(%rax),%rax 45ea4d: 48 8b 40 78 mov 0x78(%rax),%rax 45ea51: 48 89 45 f0 mov %rax,-0x10(%rbp) 45ea55: 48 8b 45 e0 mov -0x20(%rbp),%rax 45ea59: 48 89 45 f8 mov %rax,-0x8(%rbp) 45ea5d: 48 8b 05 54 15 52 00 mov 0x521554(%rip),%rax # 97ffb8 <_Py_RefTotal> 45ea64: 48 83 e8 01 sub $0x1,%rax 45ea68: 48 89 05 49 15 52 00 mov %rax,0x521549(%rip) # 97ffb8 <_Py_RefTotal> 45ea6f: 48 8b 45 f8 mov -0x8(%rbp),%rax 45ea73: 48 8b 40 10 mov 0x10(%rax),%rax 45ea77: 48 8d 50 ff lea -0x1(%rax),%rdx 45ea7b: 48 8b 45 f8 mov -0x8(%rbp),%rax 45ea7f: 48 89 50 10 mov %rdx,0x10(%rax) 45ea83: 48 8b 45 f8 mov -0x8(%rbp),%rax 45ea87: 48 8b 40 10 mov 0x10(%rax),%rax 45ea8b: 48 85 c0 test %rax,%rax 45ea8e: 74 25 je 45eab5 <PyNumber_Multiply+0xba> 45ea90: 48 8b 45 f8 mov -0x8(%rbp),%rax 45ea94: 48 8b 40 10 mov 0x10(%rax),%rax 45ea98: 48 85 c0 test %rax,%rax 45ea9b: 79 24 jns 45eac1 <PyNumber_Multiply+0xc6> 45ea9d: 48 8b 45 f8 mov -0x8(%rbp),%rax 45eaa1: 48 89 c2 mov %rax,%rdx 45eaa4: be 9a 03 00 00 mov $0x39a,%esi 45eaa9: bf f2 2f 67 00 mov $0x672ff2,%edi 45eaae: e8 08 67 06 00 callq 4c51bb <_Py_NegativeRefcount> 45eab3: eb 0c jmp 45eac1 <PyNumber_Multiply+0xc6> 45eab5: 48 8b 45 f8 mov -0x8(%rbp),%rax 45eab9: 48 89 c7 mov %rax,%rdi 45eabc: e8 33 a2 06 00 callq 4c8cf4 <_Py_Dealloc> 45eac1: 48 83 7d e8 00 cmpq $0x0,-0x18(%rbp) 45eac6: 74 2a je 45eaf2 <PyNumber_Multiply+0xf7> 45eac8: 48 8b 45 e8 mov -0x18(%rbp),%rax 45eacc: 48 8b 40 10 mov 0x10(%rax),%rax 45ead0: 48 85 c0 test %rax,%rax 45ead3: 74 1d je 45eaf2 <PyNumber_Multiply+0xf7> 45ead5: 48 8b 45 e8 mov -0x18(%rbp),%rax 45ead9: 48 8b 40 10 mov 0x10(%rax),%rax 45eadd: 48 8b 55 d0 mov -0x30(%rbp),%rdx 45eae1: 48 8b 4d d8 mov -0x28(%rbp),%rcx 45eae5: 48 89 ce mov %rcx,%rsi 45eae8: 48 89 c7 mov %rax,%rdi 45eaeb: e8 72 fe ff ff callq 45e962 <sequence_repeat> 45eaf0: eb 51 jmp 45eb43 <PyNumber_Multiply+0x148> 45eaf2: 48 83 7d f0 00 cmpq $0x0,-0x10(%rbp) 45eaf7: 74 2a je 45eb23 <PyNumber_Multiply+0x128> 45eaf9: 48 8b 45 f0 mov -0x10(%rbp),%rax 45eafd: 48 8b 40 10 mov 0x10(%rax),%rax 45eb01: 48 85 c0 test %rax,%rax 45eb04: 74 1d je 45eb23 <PyNumber_Multiply+0x128> 45eb06: 48 8b 45 f0 mov -0x10(%rbp),%rax 45eb0a: 48 8b 40 10 mov 0x10(%rax),%rax 45eb0e: 48 8b 55 d8 mov -0x28(%rbp),%rdx 45eb12: 48 8b 4d d0 mov -0x30(%rbp),%rcx 45eb16: 48 89 ce mov %rcx,%rsi 45eb19: 48 89 c7 mov %rax,%rdi 45eb1c: e8 41 fe ff ff callq 45e962 <sequence_repeat> 45eb21: eb 20 jmp 45eb43 <PyNumber_Multiply+0x148> 45eb23: 48 8b 4d d0 mov -0x30(%rbp),%rcx 45eb27: 48 8b 45 d8 mov -0x28(%rbp),%rax 45eb2b: ba ec 33 67 00 mov $0x6733ec,%edx 45eb30: 48 89 ce mov %rcx,%rsi 45eb33: 48 89 c7 mov %rax,%rdi 45eb36: e8 8c f6 ff ff callq 45e1c7 <binop_type_error> 45eb3b: 48 89 45 e0 mov %rax,-0x20(%rbp) 45eb3f: 48 8b 45 e0 mov -0x20(%rbp),%rax 45eb43: c9 leaveq 45eb44: c3 retq -
dutc revised this gist
May 1, 2014 . 1 changed file with 16 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -85,4 +85,19 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/objdu http://linuxcommand.org/man_pages/nm1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c;h=2a44a846004885f06f288af6c38fa42eddf5a7f2;hb=HEAD $ nm -l python3.4 00000000004259c9 T PyRun_SimpleString /tmp/Python-3.4.0rc1/Python/pythonrun.c:2969 0000000000421d36 T PyRun_SimpleStringFlags /tmp/Python-3.4.0rc1/Python/pythonrun.c:1629 0000000000425993 T PyRun_String /tmp/Python-3.4.0rc1/Python/pythonrun.c:2962 0000000000423afc T PyRun_StringFlags /tmp/Python-3.4.0rc1/Python/pythonrun.c:2091 0000000000496b94 T PySeqIter_New /tmp/Python-3.4.0rc1/Objects/iterobject.c:12 000000000091a6e0 D PySeqIter_Type /tmp/Python-3.4.0rc1/Objects/iterobject.c:131 0000000000463e13 T _PySequence_BytesToCharpArray /tmp/Python-3.4.0rc1/Objects/abstract.c:2698 000000000045fe72 T PySequence_Check /tmp/Python-3.4.0rc1/Objects/abstract.c:1358 000000000045ff5f T PySequence_Concat /tmp/Python-3.4.0rc1/Objects/abstract.c:1393 000000000046146f T PySequence_Contains /tmp/Python-3.4.0rc1/Objects/abstract.c:1875 0000000000461445 T PySequence_Count /tmp/Python-3.4.0rc1/Objects/abstract.c:1866 0000000000460823 T PySequence_DelItem /tmp/Python-3.4.0rc1/Objects/abstract.c:1571 -
dutc revised this gist
May 1, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,7 +13,7 @@ However, just as I can sketch for you the following... 分析 = analysis 工具 = tools Linux可執行文件的內容分析工具 = Linux Tools for Analysing the Contents of Executables (more specifically, of course, ELF object files) ... so can we break down the majority of the complexity behind: -
dutc revised this gist
May 1, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -53,6 +53,7 @@ $ apt-get source binutils The three tools discussed here are packaged as `binutils` and distributed by GNU/FSF. Here's the homepage for these tools with descriptions of what they each do: https://www.gnu.org/software/binutils/ - nm - Lists symbols from object files. - objdump - Displays information from object files. -
dutc revised this gist
May 1, 2014 . 1 changed file with 22 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -17,7 +17,7 @@ However, just as I can sketch for you the following... (more specifically, of course, ELF object files) ... so can we break down the majority of the complexity behind: - the ELF (executable and linkable format), - object files, - how executables are executed, - how C programmes work, @@ -26,7 +26,7 @@ However, just as I can sketch for you the following... In the end, it comes down to reading source code and understanding the protocols and mechanisms that have evolved around programme execution. The purpose of this tutorial isn't to teach you everything about these tools or about executable formats. It is to demystify aspects of programme execution on Linux and demonstrate how *accessible* this knowledge is. The word ELF in this tutorial refers to a specific format and protocol for executable files. There is no equivalent protocol in Python, because Python is an interpreted language. An interpreter sits between the Python programme you want to execute and the operating system on which the programme is executed. That interpreter may itself be written in an interpreted language, but, inevitably, some piece of code must interact directly with the operating system, and this code will need to be structured in a fashion that the OS can understand. ELF is one such format, and there are many others. You can even write your binary format! @@ -36,21 +36,38 @@ ELF How-To: http://cs.mipt.ru/docs/comp/eng/os/linux/howto/howto_english/elf/elf Wikipedia also has a decent overview: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format As you can see from these documents, ELF is really just a file format that is interpreted by some code in the kernel. If you're curious, take a look at `fs/exec.c:do_execve_common` which is called when we execute a programme: https://github.com/torvalds/linux/blob/96c57ade7e9ba2d1deba635a5989cc111f185dca/fs/exec.c#L1428 For ELF binaries, take a look at `fs/binfmt_elf.c:load_elf_binary`: https://github.com/torvalds/linux/blob/master/fs/binfmt_elf.c#L571 In the end, this comes down to just formats and code to process files in those formats. As a side note, if you use `apt`, you can retrieve the code for any programme installed on your computer using `apt-get source`. For the tools discussed here, do: $ apt-get source binutils The three tools discussed here are packaged as `binutils` and distributed by GNU/FSF. Here's the homepage for these tools with descriptions of what they each do: https://www.gnu.org/software/binutils/ - nm - Lists symbols from object files. - objdump - Displays information from object files. - readelf - Displays information from any ELF format object file. These tools are just programmes written in C that read in files written in the ELF [format] and spits out interesting information about them. If you're curious how these tools work, just read the source! https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e9260b41f3cae51d1a8c542a8e8328d3f39c7c18;hb=HEAD But before you read the source, read the manpages to get an overview of what these tools do: man readelf http://linuxcommand.org/man_pages/readelf1.html @@ -67,6 +84,4 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/objdu http://linuxcommand.org/man_pages/nm1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c;h=2a44a846004885f06f288af6c38fa42eddf5a7f2;hb=HEAD -
dutc revised this gist
May 1, 2014 . 1 changed file with 33 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,8 +1,41 @@ Linux可執行文件ㄉ內容分析工具 ========================= ***NOTE: This is a working copy. This tutorial is unfinished and may contain inaccuracies.*** I've written the title of this tutorial in Chinese, as I suspect that its contents may, at first glance, appear similarly incomprehensible to the audience. However, just as I can sketch for you the following... 可執行文件 = (可 = can) + (執行 = execute) + (文件 = file) = executable (file) 內容 = contents 分析 = analysis 工具 = tools Linux可執行文件ㄉ內容分析工具 = Linux Tools for Analysing the Contents of Executables (more specifically, of course, ELF object files) ... so can we break down the majority of the complexity behind: - the ELF format, - object files, - how executables are executed, - how C programmes work, - how the C standard library works, - and what these three tools are used for. In the end, it comes down to reading source code and understanding the protocols and mechanisms that have evolved around programme execution. The purpose of this tutorial isn't to teach you everything about these tools or about executable formats so much as it is to impress upon you how *accessible* these things really are. The word ELF in this tutorial refers to a specific format and protocol for executable files. There is no equivalent protocol in Python, because Python is an interpreted language. An interpreter sits between the Python programme you want to execute and the operating system on which the programme is executed. That interpreter may itself be written in an interpreted language, but, inevitably, some piece of code must interact directly with the operating system, and this code will need to be structured in a fashion that the OS can understand. ELF is one such format, and there are many others. You can even write your binary format! Here's a simple introductory document on: ELF How-To: http://cs.mipt.ru/docs/comp/eng/os/linux/howto/howto_english/elf/elf-howto.html Wikipedia also has a decent overview: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format `fs/exec.c:do_execve_common` https://github.com/torvalds/linux/blob/96c57ade7e9ba2d1deba635a5989cc111f185dca/fs/exec.c#L1428 `fs/binfmt_elf.c:load_elf_binary` https://github.com/torvalds/linux/blob/master/fs/binfmt_elf.c#L571 -
dutc revised this gist
May 1, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,6 +4,7 @@ Linux可執行文件ㄉ內容分析工具 ELF How-To: http://cs.mipt.ru/docs/comp/eng/os/linux/howto/howto_english/elf/elf-howto.html `fs/exec.c:do_execve_common` https://github.com/torvalds/linux/blob/96c57ade7e9ba2d1deba635a5989cc111f185dca/fs/exec.c#L1428 `fs/binfmt_elf.c:load_elf_binary` https://github.com/torvalds/linux/blob/master/fs/binfmt_elf.c#L571 $ apt-get source binutils -
dutc revised this gist
May 1, 2014 . 1 changed file with 7 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,10 @@ Linux可執行文件ㄉ內容分析工具 ========================= ELF How-To: http://cs.mipt.ru/docs/comp/eng/os/linux/howto/howto_english/elf/elf-howto.html `fs/exec.c:do_execve_common` https://github.com/torvalds/linux/blob/96c57ade7e9ba2d1deba635a5989cc111f185dca/fs/exec.c#L1428 `fs/binfmt_elf.c:load_elf_binary` https://github.com/torvalds/linux/blob/master/fs/binfmt_elf.c#L571 $ apt-get source binutils @@ -30,4 +33,6 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/objdu http://linuxcommand.org/man_pages/nm1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c;h=2a44a846004885f06f288af6c38fa42eddf5a7f2;hb=HEAD objdump --disassemble -
dutc revised this gist
May 1, 2014 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,8 @@ Linux可執行文件ㄉ內容分析工具 ========================= ELF How-To: http://cs.mipt.ru/docs/comp/eng/os/linux/howto/howto_english/elf/elf-howto-1.html $ apt-get source binutils https://www.gnu.org/software/binutils/ -
dutc revised this gist
May 1, 2014 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,8 @@ Linux可執行文件ㄉ內容分析工具 ========================= $ apt-get source binutils https://www.gnu.org/software/binutils/ - nm - Lists symbols from object files. - objdump - Displays information from object files. @@ -10,8 +12,6 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e9260b41f3cae51d1a8c542a8e8328d3f39c7c18;hb=HEAD man readelf http://linuxcommand.org/man_pages/readelf1.html -
dutc revised this gist
May 1, 2014 . 1 changed file with 2 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,18 +2,16 @@ Linux可執行文件ㄉ內容分析工具 ========================= https://www.gnu.org/software/binutils/ - nm - Lists symbols from object files. - objdump - Displays information from object files. - readelf - Displays information from any ELF format object file. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e9260b41f3cae51d1a8c542a8e8328d3f39c7c18;hb=HEAD `apt-get source binutils` man readelf http://linuxcommand.org/man_pages/readelf1.html -
dutc revised this gist
May 1, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,6 +7,7 @@ https://www.gnu.org/software/binutils/ - objdump - Displays information from object files. - readelf - Displays information from any ELF format object file. apt-get source binutils https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree -
dutc revised this gist
May 1, 2014 . 1 changed file with 4 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,10 @@ Linux可執行文件ㄉ內容分析工具 ========================= https://www.gnu.org/software/binutils/ - nm - Lists symbols from object files. - objdump - Displays information from object files. - readelf - Displays information from any ELF format object file. apt-get source binutils -
dutc revised this gist
May 1, 2014 . 1 changed file with 6 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,6 @@ Linux可執行文件ㄉ內容分析工具 ========================= https://www.gnu.org/software/binutils/ nm - Lists symbols from object files. objdump - Displays information from object files. @@ -12,14 +15,17 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e92 man readelf http://linuxcommand.org/man_pages/readelf1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/readelf.c;h=9cafd7c4fe01212babfd65b806a53d892552f497;hb=HEAD man objdump http://linuxcommand.org/man_pages/objdump1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/objdump.c;h=14f412214c96f7d849d70ae3ba17e283966abc51;hb=HEAD man nm http://linuxcommand.org/man_pages/nm1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c;h=2a44a846004885f06f288af6c38fa42eddf5a7f2;hb=HEAD -
dutc revised this gist
May 1, 2014 . 1 changed file with 4 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,11 +12,14 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e92 man readelf http://linuxcommand.org/man_pages/readelf1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/readelf.c;h=9cafd7c4fe01212babfd65b806a53d892552f497;hb=HEAD man objdump http://linuxcommand.org/man_pages/objdump1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/objdump.c;h=14f412214c96f7d849d70ae3ba17e283966abc51;hb=HEAD man nm http://linuxcommand.org/man_pages/nm1.html https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/nm.c;h=2a44a846004885f06f288af6c38fa42eddf5a7f2;hb=HEAD -
dutc revised this gist
May 1, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,6 +6,7 @@ readelf - Displays information from any ELF format object file. apt-get source binutils https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e9260b41f3cae51d1a8c542a8e8328d3f39c7c18;hb=HEAD man readelf -
dutc revised this gist
May 1, 2014 . 1 changed file with 2 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,11 +3,10 @@ nm - Lists symbols from object files. objdump - Displays information from object files. readelf - Displays information from any ELF format object file. apt-get source binutils https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e9260b41f3cae51d1a8c542a8e8328d3f39c7c18;hb=HEAD man readelf -
dutc revised this gist
May 1, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,6 +8,7 @@ https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e92 apt-get source binutils man readelf http://linuxcommand.org/man_pages/readelf1.html -
dutc revised this gist
May 1, 2014 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,6 +4,9 @@ objdump - Displays information from object files. readelf - Displays information from any ELF format object file. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=binutils;h=e9260b41f3cae51d1a8c542a8e8328d3f39c7c18;hb=HEAD apt-get source binutils man readelf -
dutc revised this gist
May 1, 2014 . 1 changed file with 7 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,10 @@ https://www.gnu.org/software/binutils/ nm - Lists symbols from object files. objdump - Displays information from object files. readelf - Displays information from any ELF format object file. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree man readelf http://linuxcommand.org/man_pages/readelf1.html -
dutc revised this gist
May 1, 2014 . 1 changed file with 11 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,11 @@ man readelf http://linuxcommand.org/man_pages/readelf1.html man objdump http://linuxcommand.org/man_pages/objdump1.html man nm http://linuxcommand.org/man_pages/nm1.html -
dutc created this gist
May 1, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,3 @@ man readelf http://linuxcommand.org/man_pages/readelf1.html man objdump http://linuxcommand.org/man_pages/objdump1.html man nm http://linuxcommand.org/man_pages/nm1.html