Glossary
absolute object | Machine code that contains absolute virtual addresses. Created by the linker when it combines |
code | relocatable object files. |
archive library | A library, created by the ar command, which contains one or more object modules. By convention, |
| archive library file names end with .a. Compare with shared library. |
attaching a shared | The process the dynamic loader goes through of mapping the shared library code and data into |
library | a process's address space, relocating any pointers in the shared library data that depend on |
| actual virtual addresses, allocating the bss segment, and binding routines and data in the shared |
| library to the program. |
basic block | A contiguous section of assembly code, produced by compilation, that has no branches in except |
| at the top, and no branches out except at the bottom. |
binding | The process the dynamic loader goes through of filling in a process's procedure linkage tables |
| and data linkage tables with the addresses of shared library routines and data. When a symbol |
| is bound, it is accessible to the program. |
The dependent library search algorithm used when linking and loading | |
search order |
|
bss segment | A segment of memory in which uninitialized data is stored. Compare with text segment and data |
| segment. For details, refer a.out(4). |
buffer | A temporary holding area for data. Buffers are used to perform input and output more efficiently. |
child | A process that is spawned by a process (a |
code generation | A phase of compilation in which object code is created. |
compilation phase | A particular step performed during compilation - for example, |
| parsing, code generation, linking. |
complete | An executable (a.out) file that does not use shared libraries. It is complete because all of its library |
executable | code is contained within it. Compare with incomplete executable. |
crt0.o file | See startup file. |
data export | An initialized global variable that may be referenced outside of the library. |
symbol |
|
data linkage table | A linkage table that stores the addresses of data items. |
data segment | A segment of memory containing a program's initialized data. Compare with bss segment and |
| text segment. For details, refer a.out(4). |
deferred binding | The process of waiting to bind a procedure until a program references it. Deferred binding can |
| save program startup time. Compare with immediate binding. |
When a process is | |
| they are accessed. |
dependency | Occurs when a shared library depends on other libraries - that is, when the shared library was |
| built (with ld |
dependent library | A library that was specified on the command line when building a shared library (with ld |
| See dependency. |
The dependent library search algorithm used when linking and loading in | |
order | a list starting at the end of the list and moving toward the head. Shared library initialization |
| routines are invoked by traversing the list of loaded shared libraries |
dll | See dynamic loading library. |
DLT | See data linkage table. |
driver | A program that calls other programs. |
dynamic linking | The process of linking an object module with a running program and loading the module into |
| the program's address space. |
dynamic loader | Code that attaches a shared library to a program. See dld.sl(5). |
225