| |
|
link editing (ld)
Test Program Linked directly with ld
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: 0x8048094
Start of program headers: 52 (bytes into file)
Start of section headers: 252 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 3
Size of section headers: 40 (bytes)
Number of section headers: 8
Section header string table index: 5
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 08048094 000094 000017 00 AX 0 0 4
[ 2] .data PROGBITS 080490ac 0000ac 000000 00 WA 0 0 4
[ 3] .bss NOBITS 080490ac 0000ac 000000 00 WA 0 0 4
[ 4] .comment PROGBITS 00000000 0000ac 00001b 00 0 0 1
[ 5] .shstrtab STRTAB 00000000 0000c7 000035 00 0 0 1
[ 6] .symtab SYMTAB 00000000 00023c 0000d0 10 7 9 4
[ 7] .strtab STRTAB 00000000 00030c 000025 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x08048000 0x08048000 0x000ab 0x000ab R E 0x1000
LOAD 0x0000ac 0x080490ac 0x080490ac 0x00000 0x00000 RW 0x1000
STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Section to Segment mapping:
Segment Sections...
00 .text
01
02
There is no dynamic segment in this file.
There are no relocations in this file.
There are no unwind sections in this file.
Symbol table '.symtab' contains 13 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 08048094 0 SECTION LOCAL DEFAULT 1
2: 080490ac 0 SECTION LOCAL DEFAULT 2
3: 080490ac 0 SECTION LOCAL DEFAULT 3
4: 00000000 0 SECTION LOCAL DEFAULT 4
5: 00000000 0 SECTION LOCAL DEFAULT 5
6: 00000000 0 SECTION LOCAL DEFAULT 6
7: 00000000 0 SECTION LOCAL DEFAULT 7
8: 00000000 0 FILE LOCAL DEFAULT ABS test.c
9: 080490ac 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
10: 08048094 23 FUNC GLOBAL DEFAULT 1 main
11: 080490ac 0 NOTYPE GLOBAL DEFAULT ABS _edata
12: 080490ac 0 NOTYPE GLOBAL DEFAULT ABS _end
Same program compiled and linked with gcc
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: 0x8048270
Start of program headers: 52 (bytes into file)
Start of section headers: 7636 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 7
Size of section headers: 40 (bytes)
Number of section headers: 33
Section header string table index: 30
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 08048114 000114 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08048128 000128 000020 00 A 0 0 4
[ 3] .hash HASH 08048148 000148 000024 04 A 4 0 4
[ 4] .dynsym DYNSYM 0804816c 00016c 000040 10 A 5 1 4
[ 5] .dynstr STRTAB 080481ac 0001ac 000045 00 A 0 0 1
[ 6] .gnu.version VERSYM 080481f2 0001f2 000008 02 A 4 0 2
[ 7] .gnu.version_r VERNEED 080481fc 0001fc 000020 00 A 5 1 4
[ 8] .rel.dyn REL 0804821c 00021c 000008 08 A 4 0 4
[ 9] .rel.plt REL 08048224 000224 000008 08 A 4 b 4
[10] .init PROGBITS 0804822c 00022c 000017 00 AX 0 0 4
[11] .plt PROGBITS 08048244 000244 000020 04 AX 0 0 4
[12] .text PROGBITS 08048270 000270 0001d0 00 AX 0 0 16
[13] .fini PROGBITS 08048440 000440 00001b 00 AX 0 0 4
[14] .rodata PROGBITS 0804845c 00045c 000008 00 A 0 0 4
[15] .data PROGBITS 08049464 000464 00000c 00 WA 0 0 4
[16] .eh_frame PROGBITS 08049470 000470 000004 00 A 0 0 4
[17] .dynamic DYNAMIC 08049474 000474 0000c8 08 WA 5 0 4
[18] .ctors PROGBITS 0804953c 00053c 000008 00 WA 0 0 4
[19] .dtors PROGBITS 08049544 000544 000008 00 WA 0 0 4
[20] .jcr PROGBITS 0804954c 00054c 000004 00 WA 0 0 4
[21] .got PROGBITS 08049550 000550 000014 04 WA 0 0 4
[22] .bss NOBITS 08049564 000564 000004 00 WA 0 0 4
[23] .comment PROGBITS 00000000 000564 0000e1 00 0 0 1
[24] .debug_aranges PROGBITS 00000000 000648 000078 00 0 0 8
[25] .debug_pubnames PROGBITS 00000000 0006c0 000025 00 0 0 1
[26] .debug_info PROGBITS 00000000 0006e5 000b23 00 0 0 1
[27] .debug_abbrev PROGBITS 00000000 001208 000138 00 0 0 1
[28] .debug_line PROGBITS 00000000 001340 0002a1 00 0 0 1
[29] .debug_str PROGBITS 00000000 0015e1 0006d3 01 MS 0 0 1
[30] .shstrtab STRTAB 00000000 001cb4 00011e 00 0 0 1
[31] .symtab SYMTAB 00000000 0022fc 0006a0 10 32 52 4
[32] .strtab STRTAB 00000000 00299c 00044c 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4
INTERP 0x000114 0x08048114 0x08048114 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x00464 0x00464 R E 0x1000
LOAD 0x000464 0x08049464 0x08049464 0x00100 0x00104 RW 0x1000
DYNAMIC 0x000474 0x08049474 0x08049474 0x000c8 0x000c8 RW 0x4
NOTE 0x000128 0x08048128 0x08048128 0x00020 0x00020 R 0x4
STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata
03 .data .eh_frame .dynamic .ctors .dtors .jcr .got .bss
04 .dynamic
05 .note.ABI-tag
06
Dynamic segment at offset 0x474 contains 20 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x804822c
0x0000000d (FINI) 0x8048440
0x00000004 (HASH) 0x8048148
0x00000005 (STRTAB) 0x80481ac
0x00000006 (SYMTAB) 0x804816c
0x0000000a (STRSZ) 69 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x8049550
0x00000002 (PLTRELSZ) 8 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x8048224
0x00000011 (REL) 0x804821c
0x00000012 (RELSZ) 8 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x80481fc
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x80481f2
0x00000000 (NULL) 0x0
Relocation section '.rel.dyn' at offset 0x21c contains 1 entries:
Offset Info Type Sym.Value Sym. Name
08049560 00000306 R_386_GLOB_DAT 00000000 __gmon_start__
Relocation section '.rel.plt' at offset 0x224 contains 1 entries:
Offset Info Type Sym.Value Sym. Name
0804955c 00000107 R_386_JUMP_SLOT 00000000 __libc_start_main
There are no unwind sections in this file.
Symbol table '.dynsym' contains 4 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 250 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)
2: 08048460 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used
3: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
Symbol table '.symtab' contains 106 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 08048114 0 SECTION LOCAL DEFAULT 1
2: 08048128 0 SECTION LOCAL DEFAULT 2
3: 08048148 0 SECTION LOCAL DEFAULT 3
4: 0804816c 0 SECTION LOCAL DEFAULT 4
5: 080481ac 0 SECTION LOCAL DEFAULT 5
6: 080481f2 0 SECTION LOCAL DEFAULT 6
7: 080481fc 0 SECTION LOCAL DEFAULT 7
8: 0804821c 0 SECTION LOCAL DEFAULT 8
9: 08048224 0 SECTION LOCAL DEFAULT 9
10: 0804822c 0 SECTION LOCAL DEFAULT 10
11: 08048244 0 SECTION LOCAL DEFAULT 11
12: 08048270 0 SECTION LOCAL DEFAULT 12
13: 08048440 0 SECTION LOCAL DEFAULT 13
14: 0804845c 0 SECTION LOCAL DEFAULT 14
15: 08049464 0 SECTION LOCAL DEFAULT 15
16: 08049470 0 SECTION LOCAL DEFAULT 16
17: 08049474 0 SECTION LOCAL DEFAULT 17
18: 0804953c 0 SECTION LOCAL DEFAULT 18
19: 08049544 0 SECTION LOCAL DEFAULT 19
20: 0804954c 0 SECTION LOCAL DEFAULT 20
21: 08049550 0 SECTION LOCAL DEFAULT 21
22: 08049564 0 SECTION LOCAL DEFAULT 22
23: 00000000 0 SECTION LOCAL DEFAULT 23
24: 00000000 0 SECTION LOCAL DEFAULT 24
25: 00000000 0 SECTION LOCAL DEFAULT 25
26: 00000000 0 SECTION LOCAL DEFAULT 26
27: 00000000 0 SECTION LOCAL DEFAULT 27
28: 00000000 0 SECTION LOCAL DEFAULT 28
29: 00000000 0 SECTION LOCAL DEFAULT 29
30: 00000000 0 SECTION LOCAL DEFAULT 30
31: 00000000 0 SECTION LOCAL DEFAULT 31
32: 00000000 0 SECTION LOCAL DEFAULT 32
33: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
34: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
35: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
36: 00000000 0 FILE LOCAL DEFAULT ABS <built-in>
37: 00000000 0 FILE LOCAL DEFAULT ABS abi-note.S
38: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
39: 00000000 0 FILE LOCAL DEFAULT ABS abi-note.S
40: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
41: 00000000 0 FILE LOCAL DEFAULT ABS abi-note.S
42: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
43: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
44: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
45: 00000000 0 FILE LOCAL DEFAULT ABS <built-in>
46: 00000000 0 FILE LOCAL DEFAULT ABS abi-note.S
47: 00000000 0 FILE LOCAL DEFAULT ABS init.c
48: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
49: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
50: 00000000 0 FILE LOCAL DEFAULT ABS initfini.c
51: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
52: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
53: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
54: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
55: 00000000 0 FILE LOCAL DEFAULT ABS <built-in>
56: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
57: 08048294 0 FUNC LOCAL DEFAULT 12 call_gmon_start
58: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
59: 0804953c 0 OBJECT LOCAL DEFAULT 18 __CTOR_LIST__
60: 08049544 0 OBJECT LOCAL DEFAULT 19 __DTOR_LIST__
61: 0804954c 0 OBJECT LOCAL DEFAULT 20 __JCR_LIST__
62: 0804946c 0 OBJECT LOCAL DEFAULT 15 p.0
63: 08049564 1 OBJECT LOCAL DEFAULT 22 completed.1
64: 080482c0 0 FUNC LOCAL DEFAULT 12 __do_global_dtors_aux
65: 08048300 0 FUNC LOCAL DEFAULT 12 frame_dummy
66: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
67: 08049540 0 OBJECT LOCAL DEFAULT 18 __CTOR_END__
68: 08049548 0 OBJECT LOCAL DEFAULT 19 __DTOR_END__
69: 08049470 0 OBJECT LOCAL DEFAULT 16 __FRAME_END__
70: 0804954c 0 OBJECT LOCAL DEFAULT 20 __JCR_END__
71: 08048410 0 FUNC LOCAL DEFAULT 12 __do_global_ctors_aux
72: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
73: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
74: 00000000 0 FILE LOCAL DEFAULT ABS initfini.c
75: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
76: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
77: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
78: 00000000 0 FILE LOCAL DEFAULT ABS <command line>
79: 00000000 0 FILE LOCAL DEFAULT ABS
80: 00000000 0 FILE LOCAL DEFAULT ABS /disk/hdc2/glibc/debian-b
81: 00000000 0 FILE LOCAL DEFAULT ABS test.c
82: 08049474 0 OBJECT GLOBAL DEFAULT 17 _DYNAMIC
83: 0804845c 4 OBJECT GLOBAL DEFAULT 14 _fp_hw
84: 08049464 0 NOTYPE GLOBAL DEFAULT ABS __fini_array_end
85: 08049468 0 OBJECT GLOBAL HIDDEN 15 __dso_handle
86: 080483b0 80 FUNC GLOBAL DEFAULT 12 __libc_csu_fini
87: 0804822c 0 FUNC GLOBAL DEFAULT 10 _init
88: 08048270 0 FUNC GLOBAL DEFAULT 12 _start
89: 08049464 0 NOTYPE GLOBAL DEFAULT ABS __fini_array_start
90: 08048350 84 FUNC GLOBAL DEFAULT 12 __libc_csu_init
91: 08049564 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
92: 08048334 23 FUNC GLOBAL DEFAULT 12 main
93: 00000000 250 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_
94: 08049464 0 NOTYPE GLOBAL DEFAULT ABS __init_array_end
95: 08049464 0 NOTYPE WEAK DEFAULT 15 data_start
96: 08048440 0 FUNC GLOBAL DEFAULT 13 _fini
97: 08049564 0 NOTYPE GLOBAL DEFAULT ABS _edata
98: 08048400 0 FUNC GLOBAL HIDDEN 12 __i686.get_pc_thunk.bx
99: 08049550 0 OBJECT GLOBAL DEFAULT 21 _GLOBAL_OFFSET_TABLE_
100: 08049568 0 NOTYPE GLOBAL DEFAULT ABS _end
101: 08049464 0 NOTYPE GLOBAL DEFAULT ABS __init_array_start
102: 08048460 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used
103: 08049464 0 NOTYPE GLOBAL DEFAULT 15 __data_start
104: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
105: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
Histogram for bucket list length (total of 3 buckets):
Length Number % of total Coverage
0 0 ( 0.0%)
1 3 (100.0%) 100.0%
Version symbols section '.gnu.version' contains 4 entries:
Addr: 00000000080481f2 Offset: 0x0001f2 Link: 4 (.dynsym)
000: 0 (*local*) 2 (GLIBC_2.0) 1 (*global*) 0 (*local*)
Version needs section '.gnu.version_r' contains 1 entries:
Addr: 0x00000000080481fc Offset: 0x0001fc Link to section: 5 (.dynstr)
000000: Version: 1 File: libc.so.6 Cnt: 1
0x0010: Name: GLIBC_2.0 Flags: none Version: 2
|
FlexFWD
FlexFWD is a social fitness logging tool. Connect with friends and follow athletes. Log: crossfit, running, swimming, or cycling. With mobile applications
for the iPhone and Android devices, FlexFWD also integrates with your Nike+ and Garmin devices. This is the Utimate site for tracking and comparing your fitness
restults to your friends and family.
Click here to visit the project.
|
december project
The december project is a distributed internet backup project that I have been working on.
This project is a distubuted cloud style backup system with error correction codes built in.
|
one2one
One2one is an opensource project that I started at source forge.
One2one is a database transformation tool. The tool allows for easy transformation of data from one source to another.
Take general data descriptions and map them into complex table hierarchies of any major database vendors. Click
here to
goto sourceforge and download the project code.
|
|
|