Pretty good book
Directory
Chapter 4 link and load.
1.1 What are the functions of the linker and loader? 1
1.2 Address binding: from the historical perspective 1
1.3 link and load 3
1.4 compiler driver 8
1.5 link: a real example 9
Exercise 13
Chapter 1 Architecture
2.1 application binary interface 14
2.2 memory address 15
2.3 address structure 16
2.4 Instruction format 17
2.5 Process calling and addressing capabilities 17
2.6 Data and command reference 20
2.7 paging and virtual memory 25
2.8 intel 386 segment 30
2.9 embedded architecture 32
Exercise 33
Chapter 4 target file
3.1 What are in the target file? 35
. 3.2 empty target file format: msdos COM file 36
3.3 code segment: Unix A. out file 37
3.4 relocation: msdos EXE file 42
3.5 symbols and relocation 44
3.6 relocated a. Out format 44
3.7unix ELF format 46
3.8ibm 360 target format 53
3.9 Microsoft executable format 57
3.10 Intel/Microsoft OMF file format 63
3.11 comparison of different target formats 67
Exercise 67
Project 68
Chapter 4 storage space allocation
Section 4.1 and address 70
4.2 simple storage layout 70
More than 4.3 segment types 72
4.4 Section and page alignment 73
4.5 public block and other special section 74
4.6 linker control script 80
4.7 actual storage allocation 82
Exercise 86
Project 87
Chapter 4 symbol Management
5.1 binding and name resolution 88
5.2 symbol table Type 89
5.3 change name 93
5.4 weak external and other types of symbols 97
5.5 maintenance debugging information 97
Exercise 99
Project 100
Chapter 4 Database
6.1 database objective 101
6.2 database format 101
6.3 create a library file 105
6.4 search for library files... 106
6.5 performance problems 107
6.6 weak external symbol 107
Practice 109
Project 109
Chapter 2 relocation
7.1 hardware and software relocation 111
7.2 relocation during link and loading 112
7.3 symbol and segment relocation 112
7.4 basic relocation technology 113
7.5 output format of relink and relocation: 119
7.6 Other relocation formats 119
7.7 relocation in special circumstances 121
Practice 122
Project 122
Chapter 4 loading and coverage
8.1 basic load 124
8.2 basic load with relocation 125
8.3 location-independent code 125
8.4 user-initiated loading 131
8.5 tree structure coverage 132
Practice 138
Project 138
Chapter 4 shared libraries
9.1 binding time 141
9.2 actual shared library 142
9.3 address space management 142
9.4 shared library structure 143
9.5 create a shared library 143
9.6 use the Shared Library Link 146
9.7 use a shared library to run 147
9.8 malloc hack and other shared libraries 148
Practice 150
Project 151
Chapter 4 Dynamic Link and Loading
10.1elf dynamic connection 152
10.2elf file content 153
10.3 load a dynamic link program 155
10.4 link to the inert process using PLT 158
10.5 other features of Dynamic Links 159
10.6 dynamic link during runtime 161
10.7 Microsoft dynamic link library 161
10.8osf/1 pseudo-static shared library 165
10.9 faster shared libraries by 166
10.10 comparison of several dynamic link Methods 167
Practice 168
Project 168
Chapter 2 Advanced Technology
11.1c ++ technology 170
11.2 incremental link and relink 173
11.3 garbage collection during connection 175
11.4 link optimization 176
11.5 generation of code 177 in the connection age
11.6java link model 179
Practice 182
Project 182
References...