Elf linking

From ProjectWiki
Revision as of 16:22, 31 July 2011 by 108.67.220.234 (Talk)
Jump to: navigation, search

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.

Personal tools
irssi scripts
eggdrop scripts