Index
Symbols
| |
| /usr/lib | 18, 55, 56, 65, 67 |
| /usr/lib/ld.so.1 | 53 |
A
| |
| ABI (see Application Binary Interface andSystem V Application BinaryInterface) |
| Application Binary Interface | 4, 5, 94, 115 |
| .....building a conformingapplication | 15 |
| ar(1) | 12 |
| archives | 14 |
| .....inclusion of shared objects in | 88 |
| .....link-editor processing | 12 |
| .....multiple passes through | 12 |
| .....naming conventions | 14 |
| as(1) | 2 |
B
| |
| base address | 193 |
| binding | 1 |
| .....dependency ordering | 90 |
| .....lazy | 60 |
| .....to shared object dependencies | 86, 126 |
| .....to version definitions | 126 |
| .....to weak version definitions | 130 |
C
| |
| cc(1) | 1, 2, 9 |
| COMMON | 21, 34, 36, 150, 166 |
| compilation environment | 1, 4, 14, 84 |
D
| |
| data representation | 141 |
| debugging aids |
| .....link-editing | 48 |
| .....runtime linking | 77 |
| dependency ordering | 90 |
| dlclose(3X) | 66 |
| dlerror(3X) | 66 |
| dlfcn.h | 66 |
| dlopen(3X) | 54, 66, 67 to 73, 131 |
| .....effects of ordering | 72 |
| .....modes |
| ............RTLD_GLOBAL | 68, 73 |
| ............RTLD_LAZY | 69 |
| ............RTLD_NOW | 69 |
| .....of a dynamic executable | 68, 73 |
| .....shared object naming conventions | 85 |
| dlsym(3X) | 54, 66, 73 to 76, 132 |
| |
| .....special handle (seeRTLD_NEXT) |
| dump(1) | 5, 55, 58, 99, 101 |
| dynamic executables | 2, 3 |
| dynamic information tags |
| .....NEEDED | 55, 86 |
| .....RPATH | 56 |
| .....SONAME | 87 |
| .....TEXTREL | 101 |
| dynamic linking | 4 |
| .....implementation | 167 to 176, 199 |
E
| |
| ELF | 2, 7, 97 |
| .....(see also object files) | 139 |
| elf(3E) | 5 |
| environment variables |
| .....LD_BIND_NOT | 80 |
| .....LD_BIND_NOW | 60, 80, 206 |
| .....LD_DEBUG | 77 |
| .....LD_DEBUG_OUTPUT | 78 |
| .....LD_LIBRARY_PATH | 17, 56, 65, 67, 90 |
| .....LD_OPTIONS | 10, 49 |
| .....LD_PRELOAD | 62, 65 |
| .....LD_PROFILE | 112 |
| .....LD_PROFILE_OUTPUT | 112 |
| .....LD_RUN_PATH | 19 |
| .....SGS_SUPPORT | 43 |
| error messages |
| .....link-editor |
| ............illegal argument to option | 10 |
| ............illegal option | 10 |
| ............incompatible options | 11 |
| ............multiple instances of anoption | 10 |
| ............multiply defined symbols | 27 |
| ............relocations against non-writablesections | 101 |
| ............shared object name conflicts | 88 |
| ............soname conflicts | 89 |
| ............symbol not assigned toversion | 40 |
| ............symbol warnings | 25, 26 |
| ............undefined symbols | 28 |
| ............undefined symbols from animplicit reference | 29 |
| ............version unavailable | 134 |
| ......runtime linker |
| ............copy relocation sizedifferences | 110 |
| ............relocation errors | 61, 129 |
| ............unable to find shared object | 57, 68 |
| ............unable to find versiondefinition | 128 |
| ............unable to locate symbol | 75 |
| exec(2) | 7, 53, 140 |
| executable and linking format (see ELF) |
F
| |
| f77(1) | 9 |
| filters |
| ......auxiliary | 91, 95 |
| ......standard | 91, 92 |
G
| |
| generating a shared object | 30 |
| generating an executable | 28 |
| generating the output file image | 42 |
| global offset table | 42, 58, 101, 175, 213 to 215 |
| global symbols | 21, 116, 163 to 165 |
I
| |
| initialization and termination | 9, 19, 64 |
| input file processing | 11 |
| interface |
| ......private | 116 |
| ......public | 116, 249 |
| interposition | 23, 24, 39, 59, 63, 76, 117 |
| interpreter (see also runtime linker) |
L
| |
| ld.so.1 (see also runtime linker) | 1, 53 |
| LD_BIND_NOT | 80 |
| LD_BIND_NOW | 60, 80, 206 |
| LD_DEBUG | 77 |
| LD_DEBUG_OUTPUT | 78 |
| LD_LIBRARY_PATH | 17, 56, 65, 67, 90 |
| LD_OPTIONS | 10, 49 |
| LD_PRELOAD | 62, 65 |
| LD_PROFILE | 112 |
| LD_PROFILE_OUTPUT | 112 |
| LD_RUN_PATH | 19 |
| ldd(1) | 5, 55, 57, 59, 61, 128, 129 |
| libld.so.1 | 66 |
| libraries |
| .....archives | 14 |
| .....naming conventions | 14 |
| .....shared | 167, 176, 199 |
| link-editing | 2, 162 to 176, 199 |
| .....adding additional libraries | 14 |
| .....archive processing | 12 |
| .....binding to a version definition | 126, 132 |
| .....dynamic | 167 to 176, 199 |
| .....input file processing | 11 |
| .....library input processing | 11 |
| .....library linking options | 11 |
| .....mixing shared objects andarchives | 15 |
| .....multiply defined symbols | 164 to 165 |
| .....position of files on command line | 16 |
| .....search paths | 16, 17 |
| .....shared object processing | 13 |
| link-editor | 1, 7 |
| .....debugging aids | 48 |
| .....error messages (see error messages) |
| .....invoking directly | 8 |
| .....invoking using compiler driver | 9 |
| .....overview | 7 |
| .....sections | 7 |
| .....segments | 7 |
| .....specifying options | 10 |
| link-editor options |
| .....-a | 246 |
| ......-B dynamic | 15 |
| ......-B reduce | 41 |
| ......-B static | 15, 246 |
| ......-D | 49 |
| ......-d | 245, 246 |
| ......-e | 43 |
| ......-F | 92 |
| ......-f | 92 |
| ......-G | 83 |
| ......-h | 86, 138, 247 |
| ......-i | 18 |
| ......-L | 17, 245 |
| ......-l | 11, 14, 56, 84, 136, 245 |
| ......-M | 8, 32, 33, 116, 118, 132, 227, 247, 252 |
| ......-m | 14, 24 |
| ......-R | 19, 90, 247, 248 |
| ......-r | 246 |
| ......-S | 43 |
| ......-s | 42 |
| ......-t | 25, 26 |
| ......-u | 32, 131 |
| ......-Y | 17 |
| ......-z defs | 30 |
| ......-z muldefs | 27 |
| ......-z nodefs | 28, 61 |
| ......-z noversion | 119, 128 |
| ......-z text | 101, 247 |
| link-editor output |
| ......dynamic executables | 2 |
| ......relocatable objects | 2 |
| ......shared objects | 2 |
| ......static executables | 2 |
| link-editor support interface |
| ......ld_atexit() | 44 |
| ......ld_file() | 45 |
| ......ld_section() | 45 |
| ......ld_start() | 44 |
| local symbols | 21, 163 to 165 |
| lorder(1) | 13, 50 |
M
| |
| mapfiles | 227 to 244 |
| ......defaults | 239 |
| |
| .....error messages | 243 |
| .....example | 236 |
| .....map structure | 240 |
| .....mapping directives | 233 |
| .....segment declarations | 229 |
| .....size-symbol declarations | 236 |
| .....structure | 228 |
| .....syntax | 228 |
| .....usage | 228 |
| mmap(2) | 53 |
| multiply defined symbols | 42, 163 to 165 |
N
| |
| naming conventions |
| .....archives | 14 |
| .....libraries | 14 |
| .....shared objects | 14, 84 |
| NEEDED | 55, 86 |
| nm(1) | 5, 98 |
O
| |
| object files | 2 |
| .....base address | 193 |
| .....data representation | 141 |
| .....global offset table (see global offsettable) |
| .....note section | 187 to 188 |
| .....preloading at runtime | 62 |
| .....procedure linkage table (seeprocedure linkage table) |
| .....program header | 189 to 192 |
| .....program interpretor | 204 |
| .....program loading | 195 |
| .....relocation | 167 to 176, 213 |
| .....section alignment | 151 |
| .....section attributes | 155 to 160 |
| .....section header | 148 to 160 |
| .....section names | 160 |
| .....section types | 152 to 160 |
| .....segment contents | 194 to 195 |
| .....segment permissions | 193 to 194 |
| .....segment types | 190 to 193 |
| .....string table | 161 to 162 |
| ......symbol table | 162 to 167 |
P
| |
| paging | 195 to 199 |
| performance |
| ......allocating buffers dynamically | 105 |
| ......collapsing multiple definitions | 104 |
| ......improving locality of references | 106, 111 |
| ......maximizing shareability | 102 |
| ......minimizing data segment | 103 |
| ......position-independent code (seeposition-dependent code) |
| ......relocations | 106, 111 |
| ......the underlying system | 100 |
| ......using automatic variables | 104 |
| position-independent code | 100, 203 to 213 |
| preloading objects (seeLD_PRELOADalso) | 62 |
| procedure linkage table | 43, 60, 101, 175, 215, 218 |
| profil(2) | 112 |
| program interpreter | 53, 204 to 205 |
| ......(see also runtime linker) |
| pvs(1) | 5, 119, 122, 125, 127 |
R
| |
| relocatable objects | 2 |
| relocation | 57 to 62, 106 to 111, 167 to 176 |
| ......copy | 107 |
| ......data references | 60 |
| ......function references | 60 |
| ......non-symbolic | 58, 106 |
| ......runtime linker |
| ............symbol lookup | 59, 60 |
| ......symbolic | 58, 106 |
| RPATH (see also runpath) | 56 |
| RTLD_GLOBAL | 68, 73 |
| RTLD_LAZY | 69 |
| RTLD_NEXT (see also dependencyordering) | 73 |
| |
| RTLD_NOW | 69 |
| runpath | 18, 56, 65, 67, 80, 90 |
| runtime environment | 4, 14, 84 |
| runtime linker | 1, 3, 53, 205 |
| .....initialization and terminationroutines | 64 |
| .....lazy binding | 60 |
| .....loading additional objects | 62 |
| .....programming interface (see alsodlopen(3X) family ofroutines) | 65 |
| .....relocation processing | 57 |
| .....search paths | 18, 55 |
| .....security | 64 |
| .....shared object processing | 54 |
| .....version definition verification | 128 |
| runtime linking | 3 |
S
| |
| SCD (see SPARC Compliance Definition) |
| search paths |
| .....link-editing | 16 |
| .....runtime linker | 18, 55 |
| section types |
| ......bss | 7, 104, 107 |
| ......data | 7, 103 |
| ......dynamic | 42, 53, 55 |
| ......dynstr | 42 |
| ......dynsym | 42 |
| ......fini | 19, 64 |
| ......got | 42, 58 |
| ......init | 19, 64 |
| ......interp | 53 |
| ......plt | 43, 60, 112 |
| ......rodata | 103 |
| ......strtab | 7, 42 |
| ......symtab | 7, 42 |
| ......text | 7 |
| sections | 7, 97 |
| .....(see also section types) |
| security | 64 |
| segments | 7, 97 |
| .....data | 98, 100 |
| ......text | 98, 100 |
| SGS_SUPPORT | 43 |
| shared libraries (see shared objects) |
| shared objects | 2, 4, 54 |
| ......as filters (see filters) |
| ......building (see also performance) | 83 |
| ......dependency ordering | 90 |
| ......explicit definition | 29 |
| ......implementation | 167 to 176, 199 |
| ......implicit definition | 29 |
| ......link-editor processing | 13 |
| ......naming conventions | 14, 84 |
| ......recording a runtime name | 86 |
| ......with dependencies | 89 |
| size(1) | 97 |
| SONAME | 87 |
| SPARC Compliance Definition | 5 |
| static executables | 2 |
| strings(1) | 104 |
| strip(1) | 42 |
| symbol reserved names | 42 |
| ......_DYNAMIC | 42 |
| ......_edata | 42 |
| ......_end | 42 |
| ......_etext | 42 |
| ......_fini | 19 |
| ......_GLOBAL_OFFSET_TABLE_ | 42, 215 |
| ......_init | 19 |
| ......_PROCEDURE_LINKAGE_TABLE_ | 43 |
| ......_start | 43 |
| ......main | 43 |
| symbol resolution | 21, 42 |
| ......complex | 25 |
| ......fatal | 26 |
| ......interposition (see interposition) |
| ......multiple definitions | 13 |
| ......simple | 22 |
| symbols |
| ......absolute | 34, 149, 166 |
| ......archive extraction | 12 |
| ......auto-reduction | 34, 40, 118, 252 |
| ......COMMON | 21, 34, 36, 150, 166 |
| ......defined | 21 |
| ......definition | 12, 27 |
| |
| .....existance test | 30 |
| .....global | 21, 23, 116, 163 to 165 |
| .....local | 21, 163 to 165 |
| .....private interface | 116 |
| .....public interface | 116 |
| .....reference | 12, 27 |
| .....runtime lookup | 69 to 77 |
| ............deferred | 60 |
| .....scope | 69 to 73 |
| .....tentative | 12, 21, 31, 34, 36, 150 |
| ............ordering in the output file | 31 |
| ............realignment | 36 |
| .....undefined | 12, 21, 27, 28, 30 |
| .....version definitions | 130 |
| .....weak | 12, 23, 30, 164 |
| System V Application BinaryInterface | 250 |
T
| |
| tentative symbols | 12, 21, 34, 36 |
| TEXTREL | 101 |
| tsort(1) | 13, 50 |
U
V
| |
| versioning | 115 |
| .....base version definition | 119 |
| .....binding to a definition | 126, 132 |
| .....defining a public interface | 40, 118 |
| .....definitions | 116, 117, 126 |
| .....external filename | 117, 253 |
| .....generating definitions within animage | 33, 40, 117 |
| .....internal definitions | 117 |
| .....normalization | 127 |
| .....overview | 115 |
| .....runtime verification | 128, 131 |
| .....sections | 160 |
| .....symbol definitions | 130 |
| virtual addressing | 195 |
W
| |
| weak symbols | 23, 163 to 165 |
| ......undefined | 30 |
|