Hello, The interpreter is specified during linking process and the program header of your binary is filled with good values. Then when the operating system load your binary, he finds next the interpreter to use. The linker ld sets the good values by default but you can overwrite it or specify other values if you want. The steps are: 1)The operating system loads your binary 2)The program loader system execute the Interpreter specifiy in the binary 3)The interpreter gather all the dynamic libraries needed in memory 4)The Control is passed to the entry point of your program The entry point is specified in your code source as a "global". And could be find in your object file by the linker. In theory there are some defaults tag to specify entry point, like "..start" for nasm, but you can also passed yours to the linker (ld -e). regards, Sofiane Akermoun akersof@xxxxxxxxx 2013/4/7 ishare <june.tune.sea@xxxxxxxxx>: > > For an ELF ,which needs a interpreter , how is it been called by the interpreter ? > > As I know the interpreter is loaded first and do something essential ,then call the main routine of ELF . > How is this procedure implemented ? > > Thanks! > -- > To unsubscribe from this list: send the line "unsubscribe linux-assembly" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Sofiane AKERMOUN akersof@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-assembly" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
- References:
- how does ld.so call ELF's entry?
- From: ishare
- how does ld.so call ELF's entry?
- Prev by Date: how does ld.so call ELF's entry?
- Next by Date: Re: how does ld.so call ELF's entry?
- Previous by thread: how does ld.so call ELF's entry?
- Next by thread: Re: how does ld.so call ELF's entry?
- Index(es):
![]() |