√лавна€    Ex Libris     ниги    ∆урналы    —татьи    —ерии     аталог    Wanted    «агрузка    ’удЋит    —правка    ѕоиск по индексам    ѕоиск    ‘орум   

ѕоиск по указател€м

Levine J.R. Ч Linkers and Loaders [compilers, ELF]
Levine J.R. Ч Linkers and Loaders [compilers, ELF]

„итать книгу

—качать книгу с нашего сайта нельз€

ќбсудите книгу на научном форуме

Ќашли опечатку?
¬ыделите ее мышкой и нажмите Ctrl+Enter

Ќазвание: Linkers and Loaders [compilers, ELF]

јвтор: Levine J.R.


Written for any programmer who works with compiled code, Linkers and Loaders surveys today's hardware platforms with a tour of how code is linked and executed on IBM mainframes, Unix, and Windows. This handy title fills a valuable niche for anyone who wants to understand how programs are built and run on today's computing systems.

It's the cross-platform perspective that distinguishes this book. The author's wide-ranging perspective on IBM 370 mainframes, RISC platforms like the SUN SPARC and, of course, Microsoft Windows makes this book a commendable reference on the internals of linkers and program execution in each environment. There's also a digestible guide to the computer architecture (including registers, instruction formats, and memory addressing) for each platform. (Unix programmers will be pleased that the book has more information on non-Windows platforms than on Windows itself.) For C++ programmers, this text gives you a glimpse into the internals of such language features as macros, templates, and name mangling, and how linkers deal with them at build time.

The book closes with useful material on static libraries and dynamic linking, plus a short tour of Java and its class loader (which can resolve classes on the fly as they are downloaded over the Internet). Short exercises are provided for each chapter, making this a useful resource for both classroom and self-study on what is an often overlooked topic.

язык: en

–убрика: Computer science/

—татус предметного указател€: √отов указатель с номерами страниц

ed2k: ed2k stats

√од издани€: 2000

 оличество страниц: 266

ƒобавлена в каталог: 17.10.2010

ќперации: ѕоложить на полку | —копировать ссылку дл€ форума | —копировать ID
ѕредметный указатель
"Big-endian" byte order schemes      21 139
"Bit creep"      150
"Blank" common      98
"Digital origami"      184
"Linkage editor"      234
"Little-endian" byte order schemes      21
"Universal intermediate languages"      240
.bss sections      61 66 96 192
.comment sections      66
.data sections      66
.debug sections      66
.dynstr sections      66
.dynsym sections      66
.edata sections      218Ч219
.fini sections      66 70 209 212Ч213
.got sections      66
.idata sections      218Ч222
.init sections      66 70 198 200 209 212Ч213
.interp sections      66 209
.plt sections      66
.rel.data sections      66
.rel.rodata sections      66
.rel.text sections      65
.rodata sections      66
.strtab sections      66
.symtab sections      66
.text sections      65 67
.tls sections      222
370      see "IBM 370"
386      see "Intel x86"
486      see "Intel x86"
64-bit architecture, extending archives to      140
a.out files      50Ч55 90 see
a.out files, archives in      138
a.out files, drawbacks      61Ч62
a.out files, headers for      51Ч52
a.out files, interactions with virtual memory      52Ч55
a.out files, linking in      110
a.out files, loading into a process      53
a.out files, QMAGIC      55
a.out files, simplified example      50
a.out files, storage allocation in      109Ч111
a.out files, ZMAGIC      54
ABIs      see "Application binary interfaces (ABIs)"
ABS pseudo-sections      67
Abs symbols      61
Absolute address references, adjusting      151
Absolute address references, hacking      156
Address binding      40
Address binding, deferred      3Ч4
Address binding, historical perspective      1Ч4
Address conflicts      201
Address formation      22Ч23
Address Pool      10
Address space, managing      190Ч191
Address space, program      36Ч37
Address space, quirks of      43Ч44
Address space, segmented      29
addressability      24Ч27 30
Addresses      see "Data addressing"
Addresses in storage allocation      93Ч94
Addresses, calculating      33
Addresses, memory      20Ч22
Addresses, patching to      14
Addresses, segmented      32
Addresses, symbolic      2
Addresses, synthesizing      32
Addresses, table of      20
Addressing, based      23
Addressing, direct      23 24
Addressing, indexed      23
Addressing, pseudo-direct      31
Addressing, relative      155
advanced techniques      229Ч245
AIX      169 171
Alignment, memory      44
Alignment, requirements for      22
Alpha, LITERAL for      162
Annotated C++ Reference Manual      127
Application binary interfaces(ABIs)      20 25
architectural issues      19Ч46
Architectural issues, address formation      22Ч23
Architectural issues, application binary interfaces (ABIs)      20
Architectural issues, data and instruction references      28Ч34
Architectural issues, embedded architectures      43Ч44
Architectural issues, instruction formats      23Ч24
Architectural issues, Intel 386 segmentation      41Ч43
Architectural issues, memory addresses      20Ч22
Architectural issues, paging and virtual memory      34Ч40
Architectural issues, procedure calls and addressability      24Ч27
Architectural issues, segmenting      49
Archive format      136Ч138 see
arguments, passing      25
AS/400, binary translation in      245
assemblers      2
Assemblers, generating object files      8
Assemblers, link-time      239Ч240
AT&T      62
Auxiliary vectors, passing      210
Base registers      26 28 41
Based addressing      23
BeOS      224
Binaries, slim      240
Binaries, verifying      242
Binary translation      245
Binding in symbol management      117Ч118
Binding time, in shared libraries      188Ч190
Binding, addresses      3Ч4 40
Binding, lazy      213
Binding, run-time      150
Bitmaps, and relocation      161
BLOCK DATA      99
Bootstrap loading      176Ч177 210
Bootstrap sequence, intercepting      177
Bootstrapping, defined      176
Bootstrapping, problems with      24 27
Branches      see "Jump instructions"
bridges      169
BSD Unix      51 55 58
BSD/OS      190 197Ч198
buffers      8 44
Byte-addressable memory      20Ч22
bytes      20Ч21
C programming language      4 11
C programming language, executable code in      16
C programming language, indirect calls in      221
C programming language, name mangling in      125Ч126
C programming language, null pointers in      37
C programming language, object code for      14Ч15
C programming language, pointers in      170
C programming language, source files in      13
C++programming language      11 62 70 75
C++programming language, databases in      232Ч233
C++programming language, debugging in      131Ч132
C++programming language, duplicate code removal in      99Ч103 232
C++programming language, global initializers and destructors in      229
C++programming language, indirect calls in      221
C++programming language, name mangling in      126Ч128 229
C++programming language, techniques for      229Ч233
C++programming language, templates in      230
C++programming language, Visual      236
C0MDAT sections      232
Cache files      see "Library cache files"
Calling sequence, idealized      27
Calls      27 32 see
Calls, exclusive      179
Calls, hardware      25
calls, indirect      221
Calls, marking      13 45
Chained references, in relocation      160Ч161
Checking code      184
Chip designs      21Ч22
Circular buffers      44
Class-at-a-time translation      244
Classes in Java      241
Classes, loading      242
ClassLoader      242
CM (common) type symbols      72
Code generation, link-time      238Ч240
Code generation, load-time      240Ч241
Code modification in relocation      8Ч10
Code modification, relocation and      8Ч10
Code sections, and UNIX a.out files      50Ч55
Code sets, initialization      10
Code, duplicate      99Ч103 183 232
Code, executable      4 16
Code, glue      7 181Ч182
Code, large model      42
Code, libraries of      2 26
Code, medium model      42
Code, position-independent      40
Code, small model      42
Code, startup      14
Code, unrelocated      39
Code, x86      8Ч10
CodeWarrior      236
COFF (Common Object File Format) files      62 see "XCOFF
COFF (Common Object File Format) files and Microsoft Portable Executable (PE) format      75 83
COFF (Common Object File Format) files, directory format      139
COFF (Common Object File Format) files, example      77
COFF (Common Object File Format) files, headers for      78Ч80
COFF (Common Object File Format) files, stub libraries in      195
COM files      see "DOS COM files"
COMDAT flag      101
COMDEF records      87
COMENT records      86Ч88
Command languages, embedded in object files      12
Command languages, intermixed with object files      12
Command languages, linker      11Ч12
Command languages, separate configuration language      12
command line      12
Command line switches      108 211
Common blocks      98
Common blocks in UNIX      100
Common blocks, declaring      99 114
COMMON pseudo-sections      67
Common storage      98Ч99
Compatibility problems with binary programs      241
Compatibility problems with jump tables      201Ч202
compilation process      10Ч11
Compiler drivers      10Ч12 230
Compilers, generating object files      8
Compilers, history of      187
Conditional jump instructions      31 34
Configuration language      12
Constant pools      243
Control scripts, in storage allocation      107Ч109
Copy-on-write (COW) files      38Ч39 168
Csects      71Ч72 75
Cumulative external dummy (CXD) relocation type      104
DATA      see "Static data"
Data addressing      25
Data addressing, adjusting      151
Data addressing, allocating local variables      25
Data addressing, passing arguments      25
Data addressing, storing global static data      25
Data addressing, storing local static data      25
Data and instruction references      28Ч34
Data and instruction references, IBM      370 28Ч30
Data and instruction references, Intel x86      32Ч34
Data and instruction references, misaligned      22
Data and instruction references, SPARC      30Ч32
Data sets, partitioned      136
Data symbols      61
Data, pushing and popping      26 33
Databases, in C++ programming language      232Ч233
Debugging      7Ч8 15 48 62
Debugging, passing information through      131Ч132
Debugging, wrapping for      184
DEC OM optimizing linker      237
DEC TOPS-10 assembler      236
decompiling      237
Define Class      242
Delay-loaded imports      221
Destructors, global      229
Digital signal processors (DSPs)      43 161 177
Digital VAX VMS      75
Direct addressing      23 24 40
Disk space, cost of      190
Displacement      34
DLLs      see "Dynamically linked libraries (DLLs)"
dlopen      216Ч217
DOS COM files      49 90
DOS EXE files      49 56Ч58 76
DOS EXE files, headers for      57
DOS EXE files, relocation in      56Ч58 168Ч169
Drivers, compiler      10Ч12
DSPs      see "Digital signal processors"
Duplicated code, in overlays      183
DWARF      62
Dynamic loading, run time      216Ч217
DYNAMIC type sections      65 208
Dynamically linked libraries (DLLs) and thread local storage      222
Dynamically linked libraries (DLLs) in MS Windows      217Ч222
Dynamically linked shared libraries      4 75Ч76 205Ч227
Dynamically linked shared libraries, compared with static      224Ч225
Dynamically linked shared libraries, ELF      206Ч213
Dynamically linked shared libraries, finding libraries in      211Ч212
Dynamically linked shared libraries, initialization      212Ч213
Dynamically linked shared libraries, lazy procedure linkage      213Ч215
Dynamically linked shared libraries, peculiarities of      215Ч216
Dynamically linked shared libraries, starting      210Ч211
DYNSYM type sections      64 66
ECOFF files and relocation      157Ч158
ECOFF files, archives in      139Ч140 142
ECOFF files, lack of structure in      239
ELF (Executable and Linking Format) files      62Ч70 90 112
ELF (Executable and Linking Format) files and relocatable files      63Ч68 158Ч159
ELF (Executable and Linking Format) files, advantages      69
ELF (Executable and Linking Format) files, components defined      206Ч207
ELF (Executable and Linking Format) files, directory format      139
ELF (Executable and Linking Format) files, dynamically linked libraries (DLLs) in      206Ч209 224Ч225
ELF (Executable and Linking Format) files, example      68
ELF (Executable and Linking Format) files, executable      68Ч70
ELF (Executable and Linking Format) files, headers for      62 64
ELF (Executable and Linking Format) files, loadable segments for      69
ELF (Executable and Linking Format) files, position-independent code (PIC) in      172Ч175
ELF (Executable and Linking Format) files, program headers for      69
ELF (Executable and Linking Format) files, section headers for      65
ELF (Executable and Linking Format) files, static shared libraries in      175 226
ELF (Executable and Linking Format) files, storage allocation in      111Ч113
ELF (Executable and Linking Format) files, symbol table for      67 210Ч211
ELF (Executable and Linking Format) files, weak external symbols in      145
Embedded architectures      43Ч44
Embedded architectures, address space quirks in      43Ч44
Embedded architectures, memory alignment      44
Embedded architectures, non-uniform memory      44
END format      71 74 75
ER (external reference) type symbols      73
Error routines      15
ESD format      71 72
ESIDs      see "External Symbol IDs (ESIDs)"
Etch      239
Exclusive calls      179
EXE files      see "DOS EXE files"
Executable code      4 16
Executable files      48
Executable files in ELF      62 68Ч70
Executable files in shared libraries      192
Exports, in Microsoft Portable Executable (PE) format      81
1 2 3 4
       © Ёлектронна€ библиотека попечительского совета мехмата ћ√”, 2004-2017
Ёлектронна€ библиотека мехмата ћ√” | Valid HTML 4.01! | Valid CSS! ќ проекте