Elf linking
Adventures in dynamic linking
Contents |
Well done atricle that. I'll make sure to use it wisely.
Symbols
First it needs some way to identify locations in memory. This is accomplished with symbols. A symbol is a reference to a location in memory and minimally contains location of the symbol, and a textual name for the symbol. It may also contain information about the type of symbol (program, data, global data, etc), who (or which process) owns the symbol, which section of the object file the symbol came from, group it belongs to, etc.
//Typical symbol table typedef struct _SYMBOL { char *name; char *value; SYM_TYPE type; UINT16 group; } SYMBOL;
Many schemes exist for symbol table implementation, some use a hash table for quicker lookups, some use linked lists while others have a finite array. They all do the same thing, which is, to provide a database relating addresses to names. My implementation is based of VxWork's symLib. But anyways, what about linking?
Tip top stuff. I'll epexct more now.