아오.. 잘 안쓰니 맨날 까먹어..
한번 정리를 해놔야 할듯..
한번 정리를 해놔야 할듯..
$ ldd a.out
linux-gate.so.1 => (0xb7704000)
libgomp.so.1 => /usr/lib/i386-linux-gnu/libgomp.so.1 (0xb76d6000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb76bb000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7510000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7507000)
/lib/ld-linux.so.2 (0xb7705000) |
$ strace ./a.out
execve("./a.out", ["./a.out"], [/* 19 vars */]) = 0
brk(0) = 0x8b30000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7701000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=112875, ...}) = 0
mmap2(NULL, 112875, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb76e5000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libgomp.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`*\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=59044, ...}) = 0
mmap2(NULL, 61768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76d5000
mmap2(0xb76e3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd) = 0xb76e3000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p[\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=124663, ...}) = 0
mmap2(NULL, 107008, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76ba000
mmap2(0xb76d1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb76d1000
mmap2(0xb76d3000, 4608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76d3000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\226\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1734120, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76b9000
mmap2(NULL, 1743580, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb750f000
mmap2(0xb76b3000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a4) = 0xb76b3000
mmap2(0xb76b6000, 10972, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76b6000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\30\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=30684, ...}) = 0
mmap2(NULL, 33360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7506000
mmap2(0xb750d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb750d000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7505000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7505700, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb76b3000, 8192, PROT_READ) = 0
mprotect(0xb76d1000, 4096, PROT_READ) = 0
mprotect(0xb750d000, 4096, PROT_READ) = 0
mprotect(0xb76e3000, 4096, PROT_READ) = 0
mprotect(0x8049000, 4096, PROT_READ) = 0
mprotect(0xb7724000, 4096, PROT_READ) = 0
munmap(0xb76e5000, 112875) = 0
set_tid_address(0xb7505768) = 3083
set_robust_list(0xb7505770, 0xc) = 0
futex(0xbfe14f74, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, b7505700) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0xb76bf570, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb76bf5f0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="devmini", ...}) = 0
sched_getaffinity(3083, 128, {f}) = 4
brk(0) = 0x8b30000
brk(0x8b51000) = 0x8b51000
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb6d04000
mprotect(0xb6d04000, 4096, PROT_NONE) = 0
clone(child_stack=0xb7504424, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb7504ba8, {entry_number:6, base_addr:0xb7504b40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb7504ba8) = 3084
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb6503000
mprotect(0xb6503000, 4096, PROT_NONE) = 0
clone(child_stack=0xb6d03424, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb6d03ba8, {entry_number:6, base_addr:0xb6d03b40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb6d03ba8) = 3085
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb5d02000
mprotect(0xb5d02000, 4096, PROT_NONE) = 0
clone(child_stack=0xb6502424, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb6502ba8, {entry_number:6, base_addr:0xb6502b40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb6502ba8) = 3086
futex(0x8b30654, FUTEX_WAIT_PRIVATE, 0, NULLres = 0
) = -1 EAGAIN (Resource temporarily unavailable)
write(1, "res = 0\n", 8res = 0
) = 8
futex(0xb76b68b8, FUTEX_WAKE_PRIVATE, 1) = 1
res = 0
res = 0
futex(0x8b3004c, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
exit_group(0) = ?
|
$ ltrace ./a.out
__libc_start_main(0x8048500, 1, 0xbf8a64d4, 0x8048540, 0x80485b0 <unfinished ...>
GOMP_parallel_start(0x8048512, 0, 0, 0x8048561, -1) = 299961
printf("res = %d\n", 0res = 0
res = 0
<unfinished ...>
unexpected breakpoint at 0xfffffffe
+++ killed by SIGSEGV +++
|
$ readelf -a a.out
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x8048410
Start of program headers: 52 (bytes into file)
Start of section headers: 4420 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 9
Size of section headers: 40 (bytes)
Number of section headers: 30
Section header string table index: 27
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 08048154 000154 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08048168 000168 000020 00 A 0 0 4
[ 3] .note.gnu.build-i NOTE 08048188 000188 000024 00 A 0 0 4
[ 4] .gnu.hash GNU_HASH 080481ac 0001ac 000020 04 A 5 0 4
[ 5] .dynsym DYNSYM 080481cc 0001cc 000080 10 A 6 1 4
[ 6] .dynstr STRTAB 0804824c 00024c 0000ac 00 A 0 0 1
[ 7] .gnu.version VERSYM 080482f8 0002f8 000010 02 A 5 0 2
[ 8] .gnu.version_r VERNEED 08048308 000308 000040 00 A 6 2 4
[ 9] .rel.dyn REL 08048348 000348 000008 08 A 5 0 4
[10] .rel.plt REL 08048350 000350 000028 08 A 5 12 4
[11] .init PROGBITS 08048378 000378 00002e 00 AX 0 0 4
[12] .plt PROGBITS 080483b0 0003b0 000060 04 AX 0 0 16
[13] .text PROGBITS 08048410 000410 0001dc 00 AX 0 0 16
[14] .fini PROGBITS 080485ec 0005ec 00001a 00 AX 0 0 4
[15] .rodata PROGBITS 08048608 000608 000012 00 A 0 0 4
[16] .eh_frame_hdr PROGBITS 0804861c 00061c 000044 00 A 0 0 4
[17] .eh_frame PROGBITS 08048660 000660 000104 00 A 0 0 4
[18] .ctors PROGBITS 08049f04 000f04 000008 00 WA 0 0 4
[19] .dtors PROGBITS 08049f0c 000f0c 000008 00 WA 0 0 4
[20] .jcr PROGBITS 08049f14 000f14 000004 00 WA 0 0 4
[21] .dynamic DYNAMIC 08049f18 000f18 0000d8 08 WA 6 0 4
[22] .got PROGBITS 08049ff0 000ff0 000004 04 WA 0 0 4
[23] .got.plt PROGBITS 08049ff4 000ff4 000020 04 WA 0 0 4
[24] .data PROGBITS 0804a014 001014 000008 00 WA 0 0 4
[25] .bss NOBITS 0804a01c 00101c 000008 00 WA 0 0 4
[26] .comment PROGBITS 00000000 00101c 00002a 01 MS 0 0 1
[27] .shstrtab STRTAB 00000000 001046 0000fc 00 0 0 1
[28] .symtab SYMTAB 00000000 0015f4 000450 10 29 46 4
[29] .strtab STRTAB 00000000 001a44 00024e 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
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 Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x00120 0x00120 R E 0x4
INTERP 0x000154 0x08048154 0x08048154 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x00764 0x00764 R E 0x1000
LOAD 0x000f04 0x08049f04 0x08049f04 0x00118 0x00120 RW 0x1000
DYNAMIC 0x000f18 0x08049f18 0x08049f18 0x000d8 0x000d8 RW 0x4
NOTE 0x000168 0x08048168 0x08048168 0x00044 0x00044 R 0x4
GNU_EH_FRAME 0x00061c 0x0804861c 0x0804861c 0x00044 0x00044 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
GNU_RELRO 0x000f04 0x08049f04 0x08049f04 0x000fc 0x000fc R 0x1
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 .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
04 .dynamic
05 .note.ABI-tag .note.gnu.build-id
06 .eh_frame_hdr
07
08 .ctors .dtors .jcr .dynamic .got
Dynamic section at offset 0xf18 contains 22 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libgomp.so.1]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x8048378
0x0000000d (FINI) 0x80485ec
0x6ffffef5 (GNU_HASH) 0x80481ac
0x00000005 (STRTAB) 0x804824c
0x00000006 (SYMTAB) 0x80481cc
0x0000000a (STRSZ) 172 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x8049ff4
0x00000002 (PLTRELSZ) 40 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x8048350
0x00000011 (REL) 0x8048348
0x00000012 (RELSZ) 8 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x8048308
0x6fffffff (VERNEEDNUM) 2
0x6ffffff0 (VERSYM) 0x80482f8
0x00000000 (NULL) 0x0
Relocation section '.rel.dyn' at offset 0x348 contains 1 entries:
Offset Info Type Sym.Value Sym. Name
08049ff0 00000406 R_386_GLOB_DAT 00000000 __gmon_start__
Relocation section '.rel.plt' at offset 0x350 contains 5 entries:
Offset Info Type Sym.Value Sym. Name
0804a000 00000107 R_386_JUMP_SLOT 00000000 printf
0804a004 00000207 R_386_JUMP_SLOT 00000000 GOMP_parallel_start
0804a008 00000307 R_386_JUMP_SLOT 00000000 GOMP_parallel_end
0804a00c 00000407 R_386_JUMP_SLOT 00000000 __gmon_start__
0804a010 00000507 R_386_JUMP_SLOT 00000000 __libc_start_main
There are no unwind sections in this file.
Symbol table '.dynsym' contains 8 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.0 (2)
2: 00000000 0 FUNC GLOBAL DEFAULT UND GOMP_parallel_start@GOMP_1.0 (3)
3: 00000000 0 FUNC GLOBAL DEFAULT UND GOMP_parallel_end@GOMP_1.0 (3)
4: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
5: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)
6: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
7: 0804860c 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used
Symbol table '.symtab' contains 69 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 08048154 0 SECTION LOCAL DEFAULT 1
2: 08048168 0 SECTION LOCAL DEFAULT 2
3: 08048188 0 SECTION LOCAL DEFAULT 3
4: 080481ac 0 SECTION LOCAL DEFAULT 4
5: 080481cc 0 SECTION LOCAL DEFAULT 5
6: 0804824c 0 SECTION LOCAL DEFAULT 6
7: 080482f8 0 SECTION LOCAL DEFAULT 7
8: 08048308 0 SECTION LOCAL DEFAULT 8
9: 08048348 0 SECTION LOCAL DEFAULT 9
10: 08048350 0 SECTION LOCAL DEFAULT 10
11: 08048378 0 SECTION LOCAL DEFAULT 11
12: 080483b0 0 SECTION LOCAL DEFAULT 12
13: 08048410 0 SECTION LOCAL DEFAULT 13
14: 080485ec 0 SECTION LOCAL DEFAULT 14
15: 08048608 0 SECTION LOCAL DEFAULT 15
16: 0804861c 0 SECTION LOCAL DEFAULT 16
17: 08048660 0 SECTION LOCAL DEFAULT 17
18: 08049f04 0 SECTION LOCAL DEFAULT 18
19: 08049f0c 0 SECTION LOCAL DEFAULT 19
20: 08049f14 0 SECTION LOCAL DEFAULT 20
21: 08049f18 0 SECTION LOCAL DEFAULT 21
22: 08049ff0 0 SECTION LOCAL DEFAULT 22
23: 08049ff4 0 SECTION LOCAL DEFAULT 23
24: 0804a014 0 SECTION LOCAL DEFAULT 24
25: 0804a01c 0 SECTION LOCAL DEFAULT 25
26: 00000000 0 SECTION LOCAL DEFAULT 26
27: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
28: 08049f04 0 OBJECT LOCAL DEFAULT 18 __CTOR_LIST__
29: 08049f0c 0 OBJECT LOCAL DEFAULT 19 __DTOR_LIST__
30: 08049f14 0 OBJECT LOCAL DEFAULT 20 __JCR_LIST__
31: 08048440 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux
32: 0804a01c 1 OBJECT LOCAL DEFAULT 25 completed.6159
33: 0804a020 4 OBJECT LOCAL DEFAULT 25 dtor_idx.6161
34: 080484a0 0 FUNC LOCAL DEFAULT 13 frame_dummy
35: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
36: 08049f08 0 OBJECT LOCAL DEFAULT 18 __CTOR_END__
37: 08048760 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__
38: 08049f14 0 OBJECT LOCAL DEFAULT 20 __JCR_END__
39: 080485c0 0 FUNC LOCAL DEFAULT 13 __do_global_ctors_aux
40: 00000000 0 FILE LOCAL DEFAULT ABS test.c
41: 08048512 35 FUNC LOCAL DEFAULT 13 thread._omp_fn.0
42: 08049f04 0 NOTYPE LOCAL DEFAULT 18 __init_array_end
43: 08049f18 0 OBJECT LOCAL DEFAULT 21 _DYNAMIC
44: 08049f04 0 NOTYPE LOCAL DEFAULT 18 __init_array_start
45: 08049ff4 0 OBJECT LOCAL DEFAULT 23 _GLOBAL_OFFSET_TABLE_
46: 080485b0 2 FUNC GLOBAL DEFAULT 13 __libc_csu_fini
47: 080485b2 0 FUNC GLOBAL HIDDEN 13 __i686.get_pc_thunk.bx
48: 0804a014 0 NOTYPE WEAK DEFAULT 24 data_start
49: 00000000 0 FUNC GLOBAL DEFAULT UND printf@@GLIBC_2.0
50: 00000000 0 FUNC GLOBAL DEFAULT UND GOMP_parallel_start@@GOMP
51: 0804a01c 0 NOTYPE GLOBAL DEFAULT ABS _edata
52: 00000000 0 FUNC GLOBAL DEFAULT UND GOMP_parallel_end@@GOMP_1
53: 080485ec 0 FUNC GLOBAL DEFAULT 14 _fini
54: 08049f10 0 OBJECT GLOBAL HIDDEN 19 __DTOR_END__
55: 0804a014 0 NOTYPE GLOBAL DEFAULT 24 __data_start
56: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
57: 0804a018 0 OBJECT GLOBAL HIDDEN 24 __dso_handle
58: 0804860c 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used
59: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_
60: 08048540 97 FUNC GLOBAL DEFAULT 13 __libc_csu_init
61: 0804a024 0 NOTYPE GLOBAL DEFAULT ABS _end
62: 08048410 0 FUNC GLOBAL DEFAULT 13 _start
63: 08048608 4 OBJECT GLOBAL DEFAULT 15 _fp_hw
64: 0804a01c 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
65: 08048500 18 FUNC GLOBAL DEFAULT 13 main
66: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
67: 080484c4 60 FUNC GLOBAL DEFAULT 13 thread
68: 08048378 0 FUNC GLOBAL DEFAULT 11 _init
Histogram for `.gnu.hash' bucket list length (total of 2 buckets):
Length Number % of total Coverage
0 1 ( 50.0%)
1 1 ( 50.0%) 100.0%
Version symbols section '.gnu.version' contains 8 entries:
Addr: 00000000080482f8 Offset: 0x0002f8 Link: 5 (.dynsym)
000: 0 (*local*) 2 (GLIBC_2.0) 3 (GOMP_1.0) 3 (GOMP_1.0)
004: 0 (*local*) 2 (GLIBC_2.0) 0 (*local*) 1 (*global*)
Version needs section '.gnu.version_r' contains 2 entries:
Addr: 0x0000000008048308 Offset: 0x000308 Link: 6 (.dynstr)
000000: Version: 1 File: libgomp.so.1 Cnt: 1
0x0010: Name: GOMP_1.0 Flags: none Version: 3
0x0020: Version: 1 File: libc.so.6 Cnt: 1
0x0030: Name: GLIBC_2.0 Flags: none Version: 2
Notes at offset 0x00000168 with length 0x00000020:
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 2.6.24
Notes at offset 0x00000188 with length 0x00000024:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 672fb53e31fe8755c4fad0c0c3efdad910b3c693
|
$ objdump -x a.out
a.out: file format elf32-i386
a.out
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x08048410
Program Header:
PHDR off 0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
filesz 0x00000120 memsz 0x00000120 flags r-x
INTERP off 0x00000154 vaddr 0x08048154 paddr 0x08048154 align 2**0
filesz 0x00000013 memsz 0x00000013 flags r--
LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
filesz 0x00000764 memsz 0x00000764 flags r-x
LOAD off 0x00000f04 vaddr 0x08049f04 paddr 0x08049f04 align 2**12
filesz 0x00000118 memsz 0x00000120 flags rw-
DYNAMIC off 0x00000f18 vaddr 0x08049f18 paddr 0x08049f18 align 2**2
filesz 0x000000d8 memsz 0x000000d8 flags rw-
NOTE off 0x00000168 vaddr 0x08048168 paddr 0x08048168 align 2**2
filesz 0x00000044 memsz 0x00000044 flags r--
EH_FRAME off 0x0000061c vaddr 0x0804861c paddr 0x0804861c align 2**2
filesz 0x00000044 memsz 0x00000044 flags r--
STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
filesz 0x00000000 memsz 0x00000000 flags rw-
RELRO off 0x00000f04 vaddr 0x08049f04 paddr 0x08049f04 align 2**0
filesz 0x000000fc memsz 0x000000fc flags r--
Dynamic Section:
NEEDED libgomp.so.1
NEEDED libpthread.so.0
NEEDED libc.so.6
INIT 0x08048378
FINI 0x080485ec
GNU_HASH 0x080481ac
STRTAB 0x0804824c
SYMTAB 0x080481cc
STRSZ 0x000000ac
SYMENT 0x00000010
DEBUG 0x00000000
PLTGOT 0x08049ff4
PLTRELSZ 0x00000028
PLTREL 0x00000011
JMPREL 0x08048350
REL 0x08048348
RELSZ 0x00000008
RELENT 0x00000008
VERNEED 0x08048308
VERNEEDNUM 0x00000002
VERSYM 0x080482f8
Version References:
required from libgomp.so.1:
0x042628d0 0x00 03 GOMP_1.0
required from libc.so.6:
0x0d696910 0x00 02 GLIBC_2.0
Sections:
Idx Name Size VMA LMA File off Algn
0 .interp 00000013 08048154 08048154 00000154 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.ABI-tag 00000020 08048168 08048168 00000168 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .note.gnu.build-id 00000024 08048188 08048188 00000188 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .gnu.hash 00000020 080481ac 080481ac 000001ac 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .dynsym 00000080 080481cc 080481cc 000001cc 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .dynstr 000000ac 0804824c 0804824c 0000024c 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .gnu.version 00000010 080482f8 080482f8 000002f8 2**1
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .gnu.version_r 00000040 08048308 08048308 00000308 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .rel.dyn 00000008 08048348 08048348 00000348 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .rel.plt 00000028 08048350 08048350 00000350 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 .init 0000002e 08048378 08048378 00000378 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
11 .plt 00000060 080483b0 080483b0 000003b0 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .text 000001dc 08048410 08048410 00000410 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
13 .fini 0000001a 080485ec 080485ec 000005ec 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
14 .rodata 00000012 08048608 08048608 00000608 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
15 .eh_frame_hdr 00000044 0804861c 0804861c 0000061c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
16 .eh_frame 00000104 08048660 08048660 00000660 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
17 .ctors 00000008 08049f04 08049f04 00000f04 2**2
CONTENTS, ALLOC, LOAD, DATA
18 .dtors 00000008 08049f0c 08049f0c 00000f0c 2**2
CONTENTS, ALLOC, LOAD, DATA
19 .jcr 00000004 08049f14 08049f14 00000f14 2**2
CONTENTS, ALLOC, LOAD, DATA
20 .dynamic 000000d8 08049f18 08049f18 00000f18 2**2
CONTENTS, ALLOC, LOAD, DATA
21 .got 00000004 08049ff0 08049ff0 00000ff0 2**2
CONTENTS, ALLOC, LOAD, DATA
22 .got.plt 00000020 08049ff4 08049ff4 00000ff4 2**2
CONTENTS, ALLOC, LOAD, DATA
23 .data 00000008 0804a014 0804a014 00001014 2**2
CONTENTS, ALLOC, LOAD, DATA
24 .bss 00000008 0804a01c 0804a01c 0000101c 2**2
ALLOC
25 .comment 0000002a 00000000 00000000 0000101c 2**0
CONTENTS, READONLY
SYMBOL TABLE:
08048154 l d .interp 00000000 .interp
08048168 l d .note.ABI-tag 00000000 .note.ABI-tag
08048188 l d .note.gnu.build-id 00000000 .note.gnu.build-id
080481ac l d .gnu.hash 00000000 .gnu.hash
080481cc l d .dynsym 00000000 .dynsym
0804824c l d .dynstr 00000000 .dynstr
080482f8 l d .gnu.version 00000000 .gnu.version
08048308 l d .gnu.version_r 00000000 .gnu.version_r
08048348 l d .rel.dyn 00000000 .rel.dyn
08048350 l d .rel.plt 00000000 .rel.plt
08048378 l d .init 00000000 .init
080483b0 l d .plt 00000000 .plt
08048410 l d .text 00000000 .text
080485ec l d .fini 00000000 .fini
08048608 l d .rodata 00000000 .rodata
0804861c l d .eh_frame_hdr 00000000 .eh_frame_hdr
08048660 l d .eh_frame 00000000 .eh_frame
08049f04 l d .ctors 00000000 .ctors
08049f0c l d .dtors 00000000 .dtors
08049f14 l d .jcr 00000000 .jcr
08049f18 l d .dynamic 00000000 .dynamic
08049ff0 l d .got 00000000 .got
08049ff4 l d .got.plt 00000000 .got.plt
0804a014 l d .data 00000000 .data
0804a01c l d .bss 00000000 .bss
00000000 l d .comment 00000000 .comment
00000000 l df *ABS* 00000000 crtstuff.c
08049f04 l O .ctors 00000000 __CTOR_LIST__
08049f0c l O .dtors 00000000 __DTOR_LIST__
08049f14 l O .jcr 00000000 __JCR_LIST__
08048440 l F .text 00000000 __do_global_dtors_aux
0804a01c l O .bss 00000001 completed.6159
0804a020 l O .bss 00000004 dtor_idx.6161
080484a0 l F .text 00000000 frame_dummy
00000000 l df *ABS* 00000000 crtstuff.c
08049f08 l O .ctors 00000000 __CTOR_END__
08048760 l O .eh_frame 00000000 __FRAME_END__
08049f14 l O .jcr 00000000 __JCR_END__
080485c0 l F .text 00000000 __do_global_ctors_aux
00000000 l df *ABS* 00000000 test.c
08048512 l F .text 00000023 thread._omp_fn.0
08049f04 l .ctors 00000000 __init_array_end
08049f18 l O .dynamic 00000000 _DYNAMIC
08049f04 l .ctors 00000000 __init_array_start
08049ff4 l O .got.plt 00000000 _GLOBAL_OFFSET_TABLE_
080485b0 g F .text 00000002 __libc_csu_fini
080485b2 g F .text 00000000 .hidden __i686.get_pc_thunk.bx
0804a014 w .data 00000000 data_start
00000000 F *UND* 00000000 printf@@GLIBC_2.0
00000000 F *UND* 00000000 GOMP_parallel_start@@GOMP_1.0
0804a01c g *ABS* 00000000 _edata
00000000 F *UND* 00000000 GOMP_parallel_end@@GOMP_1.0
080485ec g F .fini 00000000 _fini
08049f10 g O .dtors 00000000 .hidden __DTOR_END__
0804a014 g .data 00000000 __data_start
00000000 w *UND* 00000000 __gmon_start__
0804a018 g O .data 00000000 .hidden __dso_handle
0804860c g O .rodata 00000004 _IO_stdin_used
00000000 F *UND* 00000000 __libc_start_main@@GLIBC_2.0
08048540 g F .text 00000061 __libc_csu_init
0804a024 g *ABS* 00000000 _end
08048410 g F .text 00000000 _start
08048608 g O .rodata 00000004 _fp_hw
0804a01c g *ABS* 00000000 __bss_start
08048500 g F .text 00000012 main
00000000 w *UND* 00000000 _Jv_RegisterClasses
080484c4 g F .text 0000003c thread
08048378 g F .init 00000000 _init
|
'Linux' 카테고리의 다른 글
리눅스 쉘 스크립트 << EOF 를 이용해서 자동화 하기 (0) | 2014.04.11 |
---|---|
cron / crontab (0) | 2013.12.20 |
Linux Router Project - Dead!!! (2) | 2013.11.26 |
하드 디스크 통채로 덤프해서 마운트 하기 (0) | 2013.07.06 |
리눅스 포팅 (0) | 2013.06.19 |