[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Dynamic Object File Loading
- Date: Wed, 25 Mar 2009 08:16:54 -0700
- From: strauman at slac.stanford.edu (Till Straumann)
- Subject: Dynamic Object File Loading
Chris Johns wrote:
> Till Straumann wrote:
>> Chris Johns wrote:
>>> Bassem Fahmy wrote:
>>>> 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:
>>> If you have specific questions feel free to contact me.
>> One thing the wiki doesn't mention (I know, I should add this
>> 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
>> 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.
> This is an important point and should be added to the Wiki. It is
> important we capture things like this. I would add it but I feel I
> would not do as good a job of it.
> Did you profile this or was it by inspection and analysis ?
>> 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).
> Great and yes I also have not seen an ELF reader like this. Thanks.
>> -- Till
>>> rtems-users mailing list
>>> rtems-users at rtems.com