Relocation

Brian Blietz bblietz@iastate.edu
Mon Jan 26 01:23:00 GMT 2004


Are there any situations where ld.so will not
get invoked when an application starts?

What I am wondering is, will the kernel check
the symbol table to see if it needs ld.so, or will
it always call ld.so and let ld.so figure out it
has nothing to do?

It has to at least get "__libc_start_main" and "__gmon_start__" right?

Brian


Ian Lance Taylor wrote:

>Brian Blietz <bblietz@iastate.edu> writes:
>
>  
>
>>Who looks up global_variable in the symbol table, and
>>fixes addresses with their offsets?
>>    
>>
>
>Normally, the linker, ld.  It does then when it links the program.
>
>  
>
>>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.
>>    
>>
>
>The linker is part of the GNU binutils.
>
>Note that on GNU/Linux the loader is a different program, also called
>the dynamic linker, ld.so.  If the address to be pushed is in a shared
>library, then the dynamic linker will compute the address at program
>startup time.
>
>Ian
>  
>



More information about the Binutils mailing list