This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Relocation


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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]