[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dynamic Object File Loading



Chris Johns wrote:
> Bassem Fahmy wrote:
>   
>> Hi,
>> i'd like to handle the Dynamic Object File Loading. what shuold i do to 
>> start. is there in approvals i should take before i start.
>>  
>>     
>
> Please head to http://www.rtems.org/wiki/index.php/RTEMSSummerOfCode in the 
> wiki and the Student information sections.
>
> For dynamic loading there is a wiki page about the project:
>
>   http://www.rtems.org/wiki/index.php/Dynamic_Object_File_Loading
>
> If you have specific questions feel free to contact me.
>
>   
One thing the wiki doesn't mention (I know, I should add this myself...):

Ordinary shared libraries (as created e.g., by the gnu tools) are
designed to be shared among processes where each process
possibly has a different virtual address map. Thus, the relocation-mechanism
has to be flexible enough to allow 'per-process' relocations.

This is solved with a level of indirection (GOT and PLTs) which
add some overhead to every access of an external reference
(compared to static linking).

Since RTEMS is a 'single-address-space' system there
is really no need for this indirection.

Avoiding this overhead was one reason for implementing
cexp's linker as a static linker.

Also: the soon to be released, new version of cexp comes
with an ELF reader that may be useful to this project, too
(I was unable to find an ELF reader under a suitable
license which would not read the entire ELF file into
memory before operating on it. My ELF reader [on
a 'seekable' filesystem] only reads the required/requested
pieces of a file).

-- Till

> Regards
> Chris
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>