Relocation

Brian Blietz bblietz@iastate.edu
Sun Jan 25 19:00:00 GMT 2004


Could someone please help me understand how
address resolution is performed when a program
is run.

For instance;

.text
   pushl     global_variable
   call         some_func
   .
   .
   .

.data
   .long   global_variable
.
.
.

What takes place (Linux Redhat 9 x86)  when the pushl
needs the actual address for global_variable?

Who looks up global_variable in the symbol table, and
fixes addresses with their offsets?

I know it is in the loader, but that is about it.
I need to modify this process, and I don't
know where the source is.

Regards,
Brian



More information about the Binutils mailing list