Linker and Libraries Guide
  Procure somente este livro
Fazer download desta apostila em PDF

Index

Symbols

/usr/lib18, 40, 42, 53
/usr/lib/ld.so.139

A

ABI (see Application Binary Interface)
Application Binary Interface4, 80
.....building a conformingapplication15
ar(1)12
archives14
.....inclusion of shared objects in71
.....link-editor processing12
.....multiple passes through12
.....naming conventions14
as(1)2

B

base address135
binding1
.....lazy46

C

cc(1)1, 2, 9
COMMON107
compilation environment1, 4, 14, 68

D

data representation99
debugging aids
.....link-editing34
.....runtime linking62
dlclose(3X)51
dlerror(3X)51
dlfcn.h52
dlopen(3X)40, 51, 52 to 58
.....effects of ordering57
.....modes
............RTLD_GLOBAL58
............RTLD_LAZY54
............RTLD_NOW54
.....shared object naming conventions69
dlsym(3X)40, 51, 58 to 61
.....special handle (seeRTLD_NEXT)
dump(1)5, 41, 44, 83, 85
dynamic executables2, 3
dynamic information tags
.....NEEDED41
.....RPATH42
.....SONAME70
.....TEXTREL85
dynamic linking4
.....implementation124 to 129, 143

E

ELF2, 7
ELF (see also object files)97
elf(3E)5
environment variables
.....LD_BIND_NOT65
.....LD_BIND_NOW46, 64
.....LD_DEBUG62
.....LD_LIBRARY_PATH17, 42, 53, 77
.....LD_OPTIONS10, 35
.....LD_PRELOAD48
.....LD_RUN_PATH19
error messages
.....link-editor
............illegal argument to option10
............illegal option10
............incompatible options11
............multiple instances of anoption10
............multiply defined symbols27
............relocations against non-writablesections86
............shared object name conflicts72
............soname conflicts72
............symbol warnings25, 26
............undefined symbols28
............undefined symbols from animplicit reference29
.....runtime linker
............copy relocation sizedifferences95
............relocation errors47
............unable to find shared object43, 53
............unable to locate symbol60
exec(2)7, 39, 98
executable and linking format2, 7

F

f77(1)9
filters (see shared objects)

G

generating a shared object30
generating an executable28
generating the output file image33
global offset table34, 44, 85, 155 to 156
global symbols120 to 122

I

initialization and termination9, 19, 50
input file processing11
interposition23, 45, 49, 61
interpreter (see also runtime linker)

L

lazy binding46
ld(1)1, 2
ld.so.11, 39
LD_BIND_NOT65
LD_BIND_NOW46, 64
LD_DEBUG62
LD_DEBUG_OUTPUT63
LD_LIBRARY_PATH17, 42, 53, 77
LD_OPTIONS10, 35
LD_PRELOAD48
LD_RUN_PATH19
ldd(1)5, 41, 43, 45, 47
libld.so.152
libraries
......archives14
......naming conventions14
......shared124, 129, 143
link-editing2, 119 to 129, 143
......adding additional libraries14
......dynamic124 to 129, 143
......input file processing11
......library input processing11
......library linking options11
......mixing shared objects andarchives15
......multiply defined symbols121 to 122
link-editor1, 7
.....archive processing12
.....debugging aids34
.....direct invocation9
.....invoking directly8
.....invoking using compiler driver9
.....overview7
.....position of files on command line16
.....search paths16, 17
.....sections7
.....segments7
.....shared object processing13
.....specifying options10
link-editor options
.....-a184
.....-B15, 184
.....-D35
.....-d183, 184
.....-e34
.....-F78
.....-G67
.....-h70, 76, 185
.....-i18
.....-L17, 183
.....-l11, 14, 42, 68, 74, 183
.....-M8, 165
.....-m14, 24
.....-R19, 77, 185
.....-r184
.....-s33
.....-t25, 26
.....-u32
.....-Y17
.....-z defs30
.....-z muldefs27
.....-z nodefs28, 47
.....-z text86, 184
link-editor output
.....dynamic executables2
.....relocatable objects2
.....shared objects2
.....static executables2
local symbols120 to 122
lorder(1)13, 36

M

mapfiles165 to 181
......defaults175
......error messages179
......example173
......map structure176
......mapping directives171
......segment declarations167
......size-symbol declarations173
......structure166
......syntax166
......usage166
mmap(2)39
multiply defined symbols33, 120 to 122

N

naming conventions
......archives14
......libraries14
......shared objects14, 68
NEEDED41
nm(1)5, 83

O

object files2, 97
......base address135
......data representation99
......global offset table (see global offsettable)
......note section138 to 140
......program header132 to 140
......program interpretor (see programinterpretor)
......program linking,?? to129
......program loading140
......relocation124 to 129, 155
......section alignment109
......section attributes113 to 117
......section header106 to 117
......section names117
......section types110 to 117
......segment contents137 to 138
......segment permissions136 to 137
.....segment types133 to 135
.....string table118 to 119
.....symbol table119 to 124

P

paging140 to 143
performance
.....allocating buffers dynamically89
.....collapsing multiple definitions88
.....improving locality of references90
.....maximizing shareability86
.....minimizing data segment87
.....position-independent code (seeposition-dependent code)
.....relocations90
.....the underlying system84
.....using automatic variables89
position-independent code85, 146 to 154, 155
procedure linkage table34, 46, 85
program interpreter39, 147
.....(see also runtime linker)

R

relocatable objects2
relocation43 to 48, 90 to 95, 124 to 129
.....copy91
.....data references46
.....function references46
.....non-symbolic44, 90
.....runtime linker
............symbol lookup45, 46
.....symbolic44, 90
RPATH (see also runpath)42
RTLD_GLOBAL58
RTLD_LAZY54
RTLD_NEXT58
RTLD_NOW54
runpath18, 42, 53, 65, 77
runtime environment4, 14, 68
Runtime Linker147
runtime linker1, 3
......adding additional objects48
......adding additional shared objects52
......initialization and terminationroutines50
......lazy binding46
......programming interface (see alsodlopen(3X) family ofroutines)50
......relocation processing43
......search paths18, 40
......shared object processing40
runtime linking3

S

SCD (see SPARC Compliance Definition)
search paths
......link-editor16
......runtime linker18, 40
section types
.......bss7, 91
.......data7, 87
.......dynamic33, 39, 41
.......dynstr33
.......dynsym33
.......fini19, 50
.......got34, 44
.......init19, 50
.......interp39
.......plt34, 46
.......rodata87
.......strtab7, 33
.......symtab7, 33
.......text7
sections7, 82
......(see also section types)
segments7, 82
......data82, 84
......text82, 84
shared libraries (see shared objects)
shared objects2, 4, 40
......as filters78
......building (see also performance)67
......dependency ordering77
......explicit definition29
.....implementation124 to 129, 143
.....implicit definition29
.....link-editor processing13
.....naming conventions14, 68
.....recording a runtime name69
.....versioning73
.....with dependencies76
SHN_ABS123
SHN_COMMON123
size(1)81
SONAME70
SPARC Compliance Definition5
static executables2
strings(1)88
strip(1)33
symbol reserved names33
....._DYNAMIC33
....._edata33
....._end33
....._etext33
....._fini19
....._GLOBAL_OFFSET_TABLE_34
....._init19
....._PROCEDURE_LINKAGE_TABLE_34
....._start34
.....main34
symbol resolution20, 21, 33
.....complex25
.....fatal26
.....interposition45
.....multiple definitions13
.....simple22
symbols
.....archive extraction12
.....COMMON21
.....defined21
.....definition12, 27
.....existance test30
.....global22
.....local20
.....reference12, 27
.....runtime lookup54 to 62
............deferred46
.....scope54 to 58
......tentative12, 21, 31
............ordering in the output file31
......undefined12, 21, 27, 28, 30
......weak12, 22, 30

T

tentative symbols12, 21
TEXTREL85
tsort(1)13, 36

U

undefined symbols27

V

versioning
......shared objects73
virtual addressing140

W

weak symbols22, 120 to 122
......undefined30